为了将堆栈跟踪放入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)