ASP.NET MVC Beta 1 – Error handler example

Thursday, January 08, 2009 12:45 PM

As ScottGu mentioned in, ASP.NET MVC supports error handling. But, as always, you need to take care of some (1) steps before it actually works completely.  In this post, I will show how to enable all the error handling, so that when an exception occurs in code, the user gets a nice screen.

You can start by creating a new ASP.NET MVC project.

Than open web.config and change the following item:

<configuration>     <customErrors mode="On">           </customErrors> </configuration>

Having this configuration will redirect all users to the default ‘~/views/shared/error.aspx’ when an exception is thrown in code.

The ‘Error.aspx’ view is a generic PageView and defined as this:

namespace MvcApplication1.Views.Shared { public partial class Error: ViewPage<HandleErrorInfo> { } }

Where HandlerErrorInfo is like this:

public class HandleErrorInfo { public string ActionName { get; } public string ControllerName { get; } public Exception Exception { get; } }

So in the view you can do things like:

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server"> <h2> Sorry, an error occurred while processing your request. Action = <%= ViewData.Model.ActionName %> Controller = <%= ViewData.Model.ControllerName %> Message = <%= ViewData.Model.Exception.Message %>

</h2> </asp:Content>

A short and simple post, but as it is my first, it’s a start:).

This article is part of the GWB Archives. Original Author: C+++

New on Geeks with Blogs