我知道有很多問題SO關於ASP.NET MVC中的錯誤處理。[HandleError]優於Application_Error
我看,大多人都試圖實現的事情在三個方面:
創建
BaseController
並覆蓋OnException
方法使用
[HandleError]
或定製的異常過濾器。Application_Error
中的global.asax.cs
前兩種方式不能處理所有的異常,他們只能做由操作方法/過濾器引發的事件,所以很明顯,第三個是將成爲全球異常處理程序的最佳方法。
我的問題是爲什麼我應該去[HandleError]
的方法?它帶來了什麼好處,我無法通過Application_Error
?
最後,我想在MVC應用程序中認真考慮customErrors
部分?
注:我的要求是通常的。每當發生異常時,記錄並返回一個自定義錯誤頁面。自定義錯誤頁面可能會根據狀態代碼而改變。
我不明白爲什麼有人想要在不同的控制器和操作中以不同的方式處理錯誤。好的,如果我在[HandleError]中執行該邏輯,那麼我又想在global.asax中這麼做嗎? – VJAI 2012-04-27 17:25:21
針對手機的不同錯誤頁面?用戶的個性化錯誤頁面? Html片段的Ajax請求?自定義錯誤圖像的破碎圖像鏈接?爲某些控制器訪問禁止的錯誤頁面?想想以不同方式處理錯誤的理由並不難。 – bhamlin 2012-04-27 19:58:05