Schreibe in Stacktrace

7

Kann ich etwas Text in den Stack-Trace werfen?

Meine Anwendung hat bereits die ausgelösten Ausnahmen im Griff. Aber ich hätte gerne mehr Informationen über einige Methoden (Parameter).

Die Idee war, etwas wie

zu machen %Vor%

Ich weiß, das ist nicht cool, aber ist es möglich?

    
J. Lennon 25.09.2012, 19:11
quelle

3 Antworten

13

Erstellen Sie die Ausnahme und fügen Sie die Parameter in die Datenwörterbuch-Eigenschaft ein. Dann werfen Sie die Ausnahme ...

    
erikH 25.09.2012, 19:57
quelle
5

Nur um @ ErikHs ausgezeichnete Antwort hinzuzufügen:

Wenn Sie zusätzlich zur Eigenschaft Data zusätzliche Daten benötigen, die in der Ausnahmekette verfügbar sind, können Sie dies mithilfe einer benutzerdefinierten Ausnahme tun. Zusätzlich zu den Meta-Informationen, die ein benutzerdefinierter Typ bereitstellen kann (ein CommunicationException könnte ein Problem mit I / O bedeuten, ein InvalidStateException könnte bedeuten, dass das Programm einen ungültigen Status gefunden hat usw.) können Sie zusätzliche Informationen hinzufügen die Ausnahme in Form von benutzerdefinierten Feldern. Benutzerdefinierte Felder sind besonders nützlich, wenn Sie Typensicherheit benötigen, die die Data -Eigenschaft nicht bietet.

    
Randolpho 25.09.2012 20:04
quelle
2

Per Definition ist der Stack-Trace eine Ausgabe der aktiven Stack-Frames am aktuellen Ausführungspunkt in einem Programm, auf die normalerweise über eine Exception zugegriffen wird.

@David Yaw gab Ihnen den richtigen Weg, um zusätzliche Informationen zu einem Stack-Trace hinzuzufügen, da dieser den Exception-Stack aufbläht. Um es anders auszudrücken, sollten Sie Ihre benutzerdefinierten Daten nur dann der Stack-Ablaufverfolgung hinzufügen, wenn es sich um eine Ausnahme handelt.

Erstellen Sie entweder eine zentral zugängliche List-Auflistung, in der Protokollierungsdaten gespeichert werden, oder verwenden Sie das richtige try / catch mit Ausnahme-Sprudeln, wie von David empfohlen.

zum Beispiel.

%Vor%     
David C 25.09.2012 19:39
quelle

Tags und Links