在此程序中,您將學(xué)習(xí)如何在Java中將堆棧跟蹤轉(zhuǎn)換為字符串。
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); } } }
當(dāng)您運(yùn)行該程序時(shí),輸出將類似于以下內(nèi)容:
java.lang.ArithmeticException: / by zero at PrintStackTrace.main(PrintStackTrace.java:9)
在上面的程序中,我們通過將0除以0來強(qiáng)制程序拋出ArithmeticException
在catch塊中,我們使用StringWriter和PrintWriter將任何給定的輸出打印成字符串。然后使用異常的printStackTrace()方法打印堆棧跟蹤,并將其寫入寫入器中
然后,我們只需使用toString()方法將其轉(zhuǎn)換為字符串。