All you have to do to create a default error handler for your ASP.NET MVC controller is put the HandleError attribute on the class. Then, if your code throws an unhandled exception (one not caught in the Try…Catch block), the user will be sent the default Error View in the Views/Shared folder:
Public Class HomeController Inherits System.Web.Mvc.Controller
At least that’s what the attribute will do if you have this tag inside the system.web element in your web.config file:
<customErrors mode=”On” defaultRedirect=”Error”/>
You can add whatever error information you want to the default Error View by adding code to the View that writes out properties from the Model’s Exception property. Alternatively, setting the customErrors element’s mode to RemoteOnly will, when you’re debugging, let you continue to see ASP.NET’s default error page with all of its information while still sending the Error View to your users in production.