MVC HandleError属性不适用于Controller

时间:2010-08-02 19:07:24

标签: asp.net asp.net-mvc elmah

我正在尝试Elmah和MVC在异常处理方面的关系,并对以下代码的结果感到惊讶。这是一个全新的,直接来自项目模板MVC应用程序,我只在web.config中添加了Elmah模块和处理程序。当然是'throw':

[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什么也没做。

JUST IN 我不认为我必须打开自定义错误,因为我认为这只是针对“我的​​”未处理的错误。我想MVC和我一样都是该服务的客户。

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

检查HandleErrorAttribute是否已添加到Global.asax.cs中的GlobalFiltersCollection

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