Complete Example for Error Handlers
This code example includes elements for both page-level and application-level exception handling.
Code Example Files
The files in this code sample are as follows:
Web.config
Global.asax
Default.aspx
ExceptionUtility (to be put in the
App_Code
folder)GenericErrorPage.aspx
HttpErrorPage.aspx
Web.config
The following example provides the Web.config file. The initial setting of customErrors
will cause any unhandled errors to be directed to the HttpErrorPage.aspx file.
Global.asax
The following example provides the Global.asax file. To enable the error event handler in the Global.asax file, you will have to modify the Web.config file. The configuration file takes precedence. Therefore, you must either set customErrors
to Off
or remove the defaultRedirect
setting. If your Web.config configuration file has customErrors
set to Off
, the Application_Error
event handler in Global.asax will process all unhandled errors.
Security Note |
---|
Never set |
ExceptionUtility
The following example provides the ExceptionUtility file. Error logs might be directed to the computer's ErrorLog file, or, if the computer is part of a Web farm, the error log might be recorded in a globally available text file, or even a database. You might also need to immediately notify system administrators of a problem. The following ExceptionUtility
has two static methods: one to log the exception, and one to notify system administrators. How those methods are implemented in your code depends on the needs of your organization. For this example, you must grant write permissions to the NETWORK SERVICE for the App_Data folder to enable the application to write to the error log.
Default.aspx
The following example provides the Default.aspx page. This file provides three buttons, each of which raises a different exception. The Page_Error
handler on the page filters for specific errors, and handles these three exceptions in three separate ways. It also provides a link to a nonexistent file, which provides a fourth kind of error that is not handled on the page.
GenericErrorPage.aspx
The following example provides the GenericErrorPage.aspx page. This page creates a safe message that it displays to remote users. For local users (developers and testers of the application), the page displays a complete exception report.
HttpErrorPage.aspx
The following example provides the HttpErrorPage.aspx page. This page also creates a safe message that depends on the value of the error code, which it displays to remote users. For local users, the page displays a complete exception report.
See Also
Tasks
How to: Handle Page-Level Errors
How to: Handle Application-Level Errors