asp.net-mvcasp.net-mvc-3handleerror

RegisterGlobalFilters and HandleErrorAttribute not working


After struggling with RegisterGlobalFilters and HandleErrorAttribute forever I decided to go back to the bare bones. I created a new MVC 3 project in VS10, using the template. Add a throw DivideByZeroException in the About-action and fired up the dev server. Expected not to see a yellow screen.

But I did.

Why won't this work for me?

Update

archil's and Adam Tuliper's suggestion kind of worked. The Error view was called.

Then I proceed to add this in RegisterGlobalFilters.

filters.Add(new HandleErrorAttribute { ExceptionType = typeof(DivideByZeroException), View = "DivideByZeroException", Order = 1 });
filters.Add(new HandleErrorAttribute { View = "AllOtherExceptions", Order = 2 });

The AllOtherExceptions view was called. Why not the DivideByZeroException view?

The followup question has been posted here.


Solution

  • HandleErrorAttribute works when following conditions are met

    As in your case second condition is met, ensure you have custom erros turned on

    <system.web>
         <customErrors mode="On"></customErrors>
    </system.web>