Обычно после выпуска веб-приложения, чтобы предоставить пользователям дружественный интерфейс и удобство работы, при возникновении ошибки оно переходит на настраиваемую страницу ошибок вместо подробного списка исключений, предоставляемого пользователю ASP.NET.
Простую страницу обработки ошибок можно настроить через web.config.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
Если вы хотите представить причину ошибки программно, вы можете сделать это через событие Page_Error.
Другой способ можно реализовать через Global.asax. Я думаю, что этот способ более удобен. Кроме того, если его можно объединить с отдельной более дружелюбной страницей, он будет выглядеть удобнее.
Global.asax (при необходимости протоколирование ошибок) void Application_Error(отправитель объекта, EventArgs e)
{
Исключение objErr = Server.GetLastError().GetBaseException();
строковая ошибка = "Страница исключения: " + Request.Url.ToString() + "<br>";
error += "Сообщение об исключении: " + objErr.Message + "<br>";
Сервер.ClearError();
Приложение["ошибка"] = ошибка;
Response.Redirect("~/ErrorPage/ErrorPage.aspx");
}
ErrorPage.aspx
protected void Page_Load (отправитель объекта, EventArgs e)
{
МеткаСообщенияОшибки.Текст = Приложение["ошибка"].ToString();
}Когда конечные пользователи используют приложение, они могут не захотеть знать причину ошибки. В настоящее время мы можем использовать флажки, чтобы определить, следует ли отображать причину ошибки. Вы можете поместить метку в div, а затем использовать флажок, чтобы решить, отображать ли div.
<script Language="javascript" type="text/javascript">
<!--
функция CheckError_onclick() {
var chk = document.getElementById("CheckError");
var divError = document.getElementById("errorMsg");
если (проверка проверена)
{
divError.style.display = "встроенный";
}
еще
{
divError.style.display = "нет";
}
}
// -->
</script>
http://www.cnblogs.com/EasyLive2006/archive/2007/01/07/613922.html