public void EatDinner(string appetizer, string mainCourse, string dessert)
{
try
{
// Code
}
catch (Exception ex)
{
Logger.Log("Error in EatDinner", ex);
return;
}
}
當特定方法發生異常時,應該記錄什麼?發生異常時要記錄什麼?
我在與我一起工作的代碼中看到了很多上述內容。在這些情況下,我總是必須與遇到錯誤的人進行交談,找出他們正在做的事情,逐步瀏覽代碼並嘗試重現錯誤。
是否有任何最佳實踐或方法可以最大限度地減少所有這些額外的工作?我應該像這樣在每種方法中記錄參數嗎?
Logger.Log("Params: " + appetizer + "," + mainCourse + "," + dessert, ex);
有沒有更好的方式來記錄當前環境?如果我這樣做,我需要爲我的應用程序中的每種方法寫出所有這些東西嗎?有沒有關於這種情況的最佳做法?
請注意,重擲應該使用'throw;'和* not *'throw ex;'來完成,以避免擦除調用堆棧。 – 2010-04-04 15:06:24