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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打印错误栈信息:可以捕获具体错误信息相关的知识,希望对你有一定的参考价值。

第一种方式:

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();
}

以上是关于打印错误栈信息:可以捕获具体错误信息的主要内容,如果未能解决你的问题,请参考以下文章

Python全栈开发之异常处理

lua中怎么捕获错误异常信息

lua中怎么捕获错误异常信息

Python学习记录-异常捕获

协程 shell_exec 如何捕获标准错误流

Slf4j打印异常的堆栈信息