Custom Error Pages

To intercept an error in a page before it has a chance to send the generic error page to the client, you can make changes on an application-wide basis by adding error-handling settings in web.config, the site’s configuration file. Indeed, a newly generated web.config file has its <customErrors> section, wherein error handling is configured and commented out, so none is configured at all.

A yellow screen of death

Figure 19-24. A yellow screen of death

<configuration>
   <system.web>
      <!--
      <customErrors mode="RemoteOnly"
         defaultRedirect="GenericErrorPage.htm">
         <error statusCode="403" redirect="NoAccess.htm" />
         <error statusCode="404" redirect="FileNotFound.htm" />
      </customErrors>
      -->
   </system.web>
</configuration>

There are two possible attributes for the <customErrors> section:

  • defaultRedirect is a text string that contains the URL of the page to display in the case of any error not otherwise handled. Or rather, the URL for your own generic yellow screen of death. The example in web.config is GenericErrorPage.htm, which would be contained in the same application virtual root directory. If the custom error page to be displayed is not in the application virtual root, you need to include either a relative or a fully qualified URL in the defaultRedirect attribute.

  • mode is an attribute that enables or disables custom error pages for the application. It can have three possible values:

On

Enables custom errors ...

Get Programming ASP.NET 3.5, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.