Per definizione, la traccia di stack è un'uscita dei frame di stack attivi nel punto di esecuzione corrente in un programma, generalmente accessibile tramite un'eccezione.
@David Yaw ti ha dato il modo corretto di aggiungere ulteriori informazioni a una traccia di stack, mentre bolle sullo stack di eccezioni. Per riformulare, dovresti aggiungere i tuoi dati personalizzati solo allo stack trace, quando è il risultato di un'eccezione.
O creare una raccolta di elenchi accessibile centralmente per archiviare i dati di registrazione oppure utilizzare il try/catch corretto con l'eccezione di bubbling come consigliato da David.
per esempio.
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
}
fonte
2012-09-25 19:39:21
Sarebbe sufficiente? 'lancio nuova InvalidOperationException (" argument1: "+ test +", argument2: "+ test2);' –
ma fermerà il mio metodo, no? –
La soluzione potrebbe essere creare l'eccezione e inserire i parametri nella [Proprietà dizionario dati] (http://msdn.microsoft.com/en-us/library/system.exception.data (v = vs.100) aspx)? (Quindi lanciare l'eccezione ...) – erikH