English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом приложении вы узнаете, как в 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)
В上面的 программе мы вызываем ArithmeticException, деля 0 на 0, чтобы заставить программу выбросить исключение.
В блоке catch мы используем StringWriter и PrintWriter для вывода любого заданного вывода в строку. Затем мы используем метод printStackTrace() исключения для вывода трассировки стека и записи ее в.writer
Затем мы просто используем метод toString() для преобразования его в строку.