In Java den StackTrace einer Exception in einen String umleiten/schreiben
Mensch, mir fällt auf, dass ich arge Probleme mit den Basics habe, ist aber auch eine komplexe Geschichte mit den Reader und Writern und den Streams. Hier jetzt mal die Lösung wie man den StackTrace einer Exception in einem String speichert.
String stack = "";
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
try {
doRequest();
} catch (IOException e) {
sw.write(e.toString());
e.printStackTrace(pw);
}
stack = sw.toString();
So was haben wir gemacht? Die Exception stellt uns die Methode printStackTrace() bereit welche unter anderem einen Writer erwartet. So übergeben wir der Methode einen PrintWriter. Dieser wiederrum benötigt einen StringWriter. Final erhalten wir dann aus dem StringWriter mittels toString() unserer weggeschriebenen StackTrace.
Kommentar hinterlassen
Mit dem Absenden des Formulars genehmigst du KKND.org eine zeitlich unbegrenzte Lizenz, um deinen geschriebenen Text (inklusive deines/r Name/Webseite) hier zu veröffentlichen. Unpassende Kommentare, sowie Spam und anderer Müll werden kommentarlos gelöscht.