Durante lo sviluppo su una base di codice esistente di grandi dimensioni ho iniziato a catturare valori variabili nella mia registrazione delle eccezioni. Ad esempio:
public int Foo(int a, int b)
{
int returnInt;
try{
returnInt = bar(a) * b;
}
catch (Exception ex){
ex.Message += "a: {0}, b: {1}", a, b;
logger.log(ex);
}
return returnInt;
}
Anche se non sto chiedendo di questo pseudocodice specifico, mi sono chiesto se ci fossero validi motivi per non farlo?
Per me sembra che la registrazione delle variabili di istanza in aggiunta al messaggio di errore e alla traccia di stack più generici sia una cosa positiva. Comunque non l'ho mai visto fare altrove.