2010-08-02 68 views
0

我正在試驗Elmah和MVC的異常處理管道之間的關係,並對以下代碼的結果感到驚訝。這是一個全新的,直接來自項目模板MVC應用程序,我只在web.config中添加了Elmah模塊和處理程序。當然,'扔':MVC HandleError屬性無法在控制器上工作

[HandleError] 
public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     ViewData["Message"] = "Welcome to ASP.NET MVC!"; 
     throw new Exception("Just for you Elmah!"); 
     return View(); 
    } 

錯誤被拋出時中斷設置爲關閉,但調試器仍然中斷。當我繼續我得到一個YSOD和一個Elmah錯誤日誌,但似乎HandleError什麼都不做。

只是在 我不認爲我必須打開自定義錯誤,因爲我認爲這只是'我的'未處理的錯誤。我想MVC和我一樣是服務的客戶。

+2

http://stackoverflow.com/questions/619582/ asp-net-mvc-handleerror-not-catching-exceptions – Ahmad 2010-08-02 19:20:46

回答

0

檢查HandleErrorAttribute添加到GlobalFiltersCollection在Global.asax.cs中

public static void RegisterGlobalFilters(GlobalFiltersCollection filters) 
{ 
    filters.Add(new HandleErrorAttribute()); 
} 
+3

全局應用過濾器相當於將屬性添加到每個操作。如果我只將它應用於一個動作而不起作用,那麼將其應用於所有動作只會使它無法在任何地方工作。 – ProfK 2014-01-31 02:14:20

相關問題