Application_Error does not fire?

前端 未结 2 1811
-上瘾入骨i
-上瘾入骨i 2020-12-19 10:00

In Webform1.aspx.cs:

protected void Page_Load(object sender, EventArgs e)
{
    throw new Exception(\"test exception\");
}

In the Global.as

相关标签:
2条回答
  • 2020-12-19 10:31

    I found the problem.

    Server.Transfer("ErrUnknown.aspx")
    

    was the cause.

    While trying to view 'ErrUnknown.aspx' directly in the browser I realized I had an error in that page. After correcting it Server.Transfer works

    Was is misleading though is that the event doesn't get fired while debugging the application?

    Anyway.

    0 讨论(0)
  • 2020-12-19 10:49

    It looks fine and the Application_Error should being called.

    Did you checked by Debugging your application?

    Actually you are missing Server.ClearError() so the exception is being passed to asp.net but you should suppress it here because you are handling it by yourself.

    protected void Application_Error(object sender, EventArgs e)
    {
        // Code that runs when an unhandled error occurs
        if (Server.GetLastError() is HttpUnhandledException)
        {
            // suppressing the error so it should not pass to asp.net
            Server.ClearError();
            Server.Transfer("ErrUnknown.aspx");
        }
    }
    
    0 讨论(0)
提交回复
热议问题