public static String outputThrowable(Throwable t) throws FileNotFoundException{
for (StackTraceElement ste:t.getStackTrace()) {
System.out.println(ste.getMethodName());
}
t.printStackTrace(System.err);
t.printStackTrace(System.out);
t.printStackTrace(new PrintStream("exception.txt"));//redirect to file
StringWriter sw=new StringWriter();
PrintWriter pw=new PrintWriter(sw);
try {
t.printStackTrace(pw);//redirect to file
} catch (Exception e) {
e.printStackTrace();
}finally{
pw.close();
}
return sw.toString();
}
Output:
main
java.lang.ArithmeticException: / by zero
at exception.TestException.main(TestException.java:11)
java.lang.ArithmeticException: / by zero
at exception.TestException.main(TestException.java:11)
java.lang.ArithmeticException: / by zero
at exception.TestException.main(TestException.java:11)
java.lang.ArithmeticException: / by zero
at exception.TestException.main(TestException.java:11)