English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo programma, imparerai come convertire la traccia della chiamata in una stringa in 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); } } }
Quando eseguiamo il programma, l'output sarà simile al seguente:
java.lang.ArithmeticException: / by zero at PrintStackTrace.main(PrintStackTrace.java:9)
Nel programma sopra, forziamo il programma a lanciare ArithmeticException dividendo 0 per 0
Nel blocco catch, utilizziamo StringWriter e PrintWriter per stampare qualsiasi output dato come stringa. Poi utilizziamo il metodo printStackTrace() dell'eccezione per stampare la traccia della pila e scriverla nel writer
Poi, possiamo semplicemente utilizzare il metodo toString() per convertirlo in una stringa.