public void EatDinner(string appetizer, string mainCourse, string dessert)
{
try
{
// Code
}
catch (Exception ex)
{
Logger.Log("Error in EatDinner", ex);
return;
}
}
Quando si verifica un'eccezione in un metodo specifico, cosa devo registrare?Cosa registrare quando si verifica un'eccezione?
Vedo molto di quanto sopra nel codice con cui lavoro. In questi casi, devo sempre parlare con la persona che ha riscontrato l'errore per scoprire che cosa stavano facendo, scorrere il codice e provare a riprodurre l'errore.
Esistono buone pratiche o modi per minimizzare tutto questo lavoro extra? Devo registrare i parametri in ogni metodo come questo?
Logger.Log("Params: " + appetizer + "," + mainCourse + "," + dessert, ex);
C'è un modo migliore per registrare l'ambiente corrente? Se lo faccio in questo modo, dovrò scrivere tutte queste cose per ogni metodo che ho nella mia applicazione? Esistono buone pratiche in merito a scenari come questo?
Si noti che il rilancio deve essere eseguito utilizzando 'throw;' e * not * 'throw ex;', per evitare di cancellare lo stack di chiamate. –