I just learned about the Page_Error sub which you can use to capture the error that occurred and redirect the user to a page which displays a user-friendly message that an error occurred. The Page_Error event of the ASP.NET Page object is raised any time an unhandled error occurs in a page.
ASP.NET provides you with the ability to redirect the user to another page when an error occurs. To use this feature, set the ErrorPage property of the Page object to the URL of the page you want the user to see. You can add querystring parameters to the URL to pass specific error messages to the page. For instance, in the code snippets shown next, we've added three querystring parameters to the URL of an error message page: PageHeader, Message1, and Message2. PageHeader is set to the message "Error Occurred." Message1 is set to the message in the lastError exception. This will be the message from the last exception thrown. Message2 is a message we've added to say where the error was processed.
Example:
Protected Sub Page_Error(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Error
Dim lastError As Exception
'get the last error that occurred
lastError = Server.GetLastError( )
'do any logging, notifications, etc. here
'set the URL of the page that will display the error and
'include querystring parameters to allow the page to display
'what happened
Page.ErrorPage = "error_page.aspx" &_
"?PageHeader=Error Occurred" &_
"&Message1=" &lastError.Message &_
"&Message2=" &_
"This error was processed at the page level"
End Sub