博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2017-08-22 10:05  张兴旺11  阅读(233)  评论(0编辑  收藏  举报

第一种方式:

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() + "\n");
}
return sb.toString();
}