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 zu formulieren, sollten Sie Ihre benutzerdefinierten Daten nur dann zum Stack-Trace 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 Ausnahmesprudeln, wie von David empfohlen.
zum Beispiel.
try
{
doSomethingThatMightFailAndThrowAnException();
}
catch (Exception ex)
{
throw new Exception("Here is some custom data to add to the trace...",ex);
// Notice adding the ex as the second parameter preserves the original exception trace
}
Wäre das ausreichend? 'throw new InvalidOperationException (" argument1: "+ test +", argument2: "+ test2);' –
aber es wird meine Methode stoppen, nein? –
Die Lösung könnte darin bestehen, die Ausnahme zu erstellen und die Parameter in die [Datenwörterbuch-Eigenschaft] (http://msdn.microsoft.com/en-us/library/system.exception.data (v = vs.100)) zu setzen. .aspx)? (Dann werfen Sie die Ausnahme ...) – erikH