The <customErrors> tag in ASP.NET configuration files affects how error pages are managed in an ASP.NET application and whether developers can redirect users to their custom error pages when an exception is thrown. The syntax for this tag is:
<customErrors mode="On|Off|RemoteOnly" defaultRedirect="url">
<error statusCode="statuscode" redirect="url"/>
ASP.NET produces an error page when an application throws an unhandled exception or when you deploy an .aspx file whose source contains a syntax error without compiling it inside Visual Studio .NET first. Most of the time, you don't want this page be visible to your site's visitors because the source code might contain confidential information, such as the password to access a database, so you should redirect the browser to a custom error page on which you instruct users about error causes and possible remedies. The mode attribute is required and can be one of the following values: Off
(ASP.NET always displays its own error pages), On
(ASP.NET never displays its own error pages, and developers can define their own custom error pages), or RemoteOnly
(ASP.NET displays its error pages only for requests from the local computer and allows custom error pages for requests from remote users). RemoteOnly is the default setting in machine.config and allows you to perform debugging chores while remote users are accessing the site.
Unless the mode attribute is Off, you should provide a defaultRedirect attribute pointing to your custom error page. You can also indicate different URLs for specific HTTP status codes by using one or more subtags, as in this example:
<customErrors> mode="RemoteOnly" defaultRedirect="ErrorPage.aspx" >
<error statusCode="500" redirect="InternalError.htm"/>
This tips has been taken from Chapter 24 "ASP.NET Applications" of Francesco Balena's Programming Microsoft Visual Basic .NET (Microsoft Press). Read a sample chapter from our Book Bank, or buy at 30% off the list price.