Custom error pages in web.config:
<customErrors mode="On" defaultRedirect="CustomErrorPage.htm"> <error statusCode="400" redirect="CustomErrorPage400.htm"/> <error statusCode="404" redirect="CustomErrorPage404.htm"/> <error statusCode="500" redirect="CustomErrorPage500.htm"/> </customErrors>
Enable tracing in web.config but prevent trace messages from being displayed on pages. To view the trace messages, browse to the Trace.axd virtual file in the web application's root directory:
<!-- Example #1 --> <trace enabled="true" pageOutput="false" localOnly="false" /> <!-- Example #2 --> <trace enabled="true" pageOutput="false" localOnly="false" requestLimit="10" traceMode="SortByCategory" />
Enable tracing on a web page:
<%@ Page Trace="true" TraceMode="SortByTime" %>
Enable tracing in web.config:
<trace enabled="true" requestLimit="10" pageOutput="false" traceMode="SortByCategory" localOnly="true"/>
Override application-wide error pages by a page-specific error page:
<%@ Page ... ErrorPage="PageSpecificErrorPage.aspx" %>
Handle unhandled exceptions in Global.asax:
void Application_Error(object sender, EventArgs e) { Exception exc = Server.GetLastError().GetBaseException(); // Log the error using a custom method LogError() LogError("An unhandled exception occured", exc); // Clear the error so it won't be re-thrown. Server.ClearError(); // Redirect to a user-friendly page and inform about an internal error. Response.Redirect("~/PageError.htm"); }