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