2016-08-04 35 views
1

我正在C#中開發一個Web應用程序,並且我有一個特殊的異常類型,我需要從其發生的事件中獲得一個完整的日誌,當然,我將處理該事件以向用戶顯示一條特殊消息或者其他的東西。在異常構造函數中記錄錯誤是一個好習慣嗎?

問題是,在異常的構造函數中寫入日誌代碼是否是一種好的做法?我問這是因爲我以前沒有見過類似的東西。

在此先感謝

+3

否;建設者不應該有副作用。 – SLaks

+3

我假設沒有,因爲日誌記錄本身能夠拋出異常,它可以變得非常複雜 –

+0

例外是處理問題的最後一道防線。一旦你打開它的代碼有可能打破,這種打破了例外的目的。最好讓他們分開。 –

回答

3

短和良好的答案應該是:不,你不應該監守你想關注一個很好的分離,開發代碼走這條路:異常處理是不記錄,因此,日誌記錄不能構成例外的一部分。

如果您的代碼沒有處理該異常,則可以使用最後一次異常處理程序(如AppDomain.UnhandledException事件)並將其記錄在那裏。

相關問題