如何在 Java 中将 StackTrace(堆栈跟踪)转换为字符串?
大家好!我是一名 Java 初学者,在处理异常时遇到了问题。我需要将错误记录到文本文件中,但标准方法 printStackTrace() 只将堆栈跟踪输出到控制台(System.err)。我想获取完整的堆栈跟踪作为字符串,以便保存到文件、通过电子邮件发送或直接输出到日志文件。
以下是我的代码示例:
```java
try {
// 一些可能抛出异常的代码
int result = 10 / 0;
} catch (Exception e) {
// 这里我需要将堆栈跟踪作为字符串获取
e.printStackTrace(); // 这只输出到控制台
// 我想要类似这样的东西:
// String stackTraceString = convertStackTraceToString(e);
// System.out.println(stackTraceString); // 或者写入文件
}
```
我尝试过使用 e.getMessage()——但它只返回简短的消息("/ by zero"),而我需要完整的堆栈跟踪(所有类似 "at com.example.MyClass.myMethod(MyClass.java:15" 的行)。