Отлов ошибок в ASP.NET - CodeHelper

Отлов ошибок в ASP.NET

1

В Web-приложении переодически возникают необработанные исключения, каким образом их отловить и выдать сообщение об ошибке с кодом данной ошибки?

Проблема ещё в том, что в Application_OnError(Global.asax) исключение не приходит

Новые ответы

Новые Лучшие

1

Вообщем нашёл проблему, какой-то нехороший разработчик засунул Global.asax в app_code, а он должен быть в корне. Теперь ошибка отлавливается в Application_Error

Теперь можно указать свою страницу в Web.config для отображения ошибок:

<customErrors mode="On" defaultRedirect="~/ErrorPage.aspx" />

В Global.asax, Application_Error(), вставить следующий код для получения подробностей ошибки:

// Code that runs when an unhandled error occurs
Exception ex = Server.GetLastError();
Application["TheException"] = ex; //store the error for later
Server.ClearError(); //clear the error so we can continue onwards
Response.Redirect("~/ErrorPage.aspx"); //direct user to error page

И, наконец, в ErrorPage.aspx:

protected void Page_Load(object sender, EventArgs e)
{

    // ... do stuff ...
    //we caught an exception in our Global.asax, do stuff with it.
    Exception caughtException = (Exception)Application["TheException"];
    //... do stuff ...
}

v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.