如何将堆栈跟踪转换为字符串?

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