在此程序中,您将学习如何在Java中将堆栈跟踪转换为字符串。
import java.io.PrintWriter; import java.io.StringWriter; public class PrintStackTrace { public static void main(String[] args) { try { int division = 0 / 0; } catch (ArithmeticException e) { StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw)); String exceptionAsString = sw.toString(); System.out.println(exceptionAsString); } } }
当您运行该程序时,输出将类似于以下内容:
java.lang.ArithmeticException: / by zero at PrintStackTrace.main(PrintStackTrace.java:9)
在上面的程序中,我们通过将0除以0来强制程序抛出ArithmeticException
在catch块中,我们使用StringWriter和PrintWriter将任何给定的输出打印成字符串。然后使用异常的printStackTrace()方法打印堆栈跟踪,并将其写入写入器中
然后,我们只需使用toString()方法将其转换为字符串。