如何将堆栈跟踪转换为字符串?
将Throwable.getStackTrace()
的结果转换为描述堆栈跟踪的字符串的最简单方法是什么?
可以使用以下方法将Exception
堆栈跟踪转换为String
。 这个类在Apache commons-lang中可用,这是最常见的依赖库,有许多流行的开源
org.apache.commons.lang.exception.ExceptionUtils.getStackTrace(Throwable)
使用Throwable.printStackTrace(PrintWriter pw)将堆栈跟踪发送到适当的写入器。
import java.io.StringWriter;
import java.io.PrintWriter;
// ...
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
String sStackTrace = sw.toString(); // stack trace as a string
System.out.println(sStackTrace);
这应该工作:
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
String exceptionAsString = sw.toString();
链接地址: http://www.djcxy.com/p/14465.html
上一篇: How can I convert a stack trace to a string?
下一篇: Rethrowing exceptions in Java without losing the stack trace