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)