打印错误栈信息:可以捕获具体错误信息

第一种方式:

public String getStackTraceStr(Exception e) {
ByteArrayOutputStream buf = new java.io.ByteArrayOutputStream();

e.printStackTrace(new PrintWriter(buf, true));
String exStr = buf.toString();
try {
buf.close();
} catch (IOException e1) {
e1.printStackTrace();
}
return exStr;
}

第一种方式用到了流,太占用内存资源。

第二种方式:

private static String getStackMsg(Exception e) {

StringBuffer sb = new StringBuffer();
StackTraceElement[] stackArray = e.getStackTrace();
for (int i = 0; i < stackArray.length; i++) {
StackTraceElement element = stackArray[i];
sb.append(element.toString() + " ");
}
return sb.toString();
}

原文地址:https://www.cnblogs.com/zhangxw1992/p/7410181.html