Java 程序将堆栈轨迹转换为 String


Java.io.StringWriter 类是一个字符流,它将它的输出收集到一个字符串缓冲区中,该字符串缓冲区可用于构建一个字符串。关闭 StringWriter 不会产生任何影响。

Java.io.PrintWriter 类以格式化表示形式将对象打印到文本输出流中。

使用这两个类可以将堆栈轨迹转换为 String。

示例

在线演示

import java.io.PrintWriter;
import java.io.StringWriter;

public class StackTraceToString {
   public static void main(String args[]) {
      try {
         int a[] = new int[2];
         System.out.println("Access element three :" + a[3]);
      } catch (ArrayIndexOutOfBoundsException e) {
         StringWriter writer = new StringWriter();
         e.printStackTrace(new PrintWriter(writer));

         String myString = writer.toString();
         System.out.println("Stack trace message ::"+myString);
      }
   }
}

输出

Stack trace message ::java.lang.ArrayIndexOutOfBoundsException: 3
   at lastRound.StackTraceToString.main(StackTraceToString.java:10)

更新于: 2020 年 3 月 13 日

164 次查看

开启你的 职业生涯

通过完成课程获得认证

开始
广告