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:).
