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