在Java中将堆栈跟踪放入字符串中

为了将堆栈跟踪放入Java中的String中,我们使用java.io.StringWriter和java.io.PrintWriter类。在catch块中,捕获到异常后,我们按printStackTrace()方法打印堆栈跟踪,并将其写入writer,然后使用该ToString()方法将其转换为String。

让我们看一下一个程序,该程序将堆栈跟踪放入Java中的String中。

示例

import java.io.PrintWriter;
import java.io.StringWriter;
public class Example {
   public static void main(String[] args) {
      try{
         int ans = 10/0;
      }catch (ArithmeticException ex) {
         StringWriter s= new StringWriter();
         ex.printStackTrace(new PrintWriter(s)); // writing the stack trace in the writer
         String str = s.toString(); // converting it into a String
         System.out.println(str);
      }
   }
}

输出结果

java.lang.ArithmeticException: / by zero
at Example.main(Example.java:8)