It is sometimes necessary to get the exception’s stack trace as String (for logging, reporting, etc.). Unfortunately, the Exception class itself provides only the getMessage() method which does not include the stack trace, and the printStackTrace() methods, which do not return anything.
Here’s routine that I use to obtain exception’s stack trace as String:
import java.io.*; public static String getStackTrace(Throwable err) { StringWriter strWrite = new StringWriter(); PrintWriter prtWrite = new PrintWriter(strWrite); err.printStackTrace(prtWrite); StringBuffer temp = strWrite.getBuffer(); String str = temp.toString(); return str; }