【问题标题】:Application_error function intermittently catch "File does not exist"Application_error 函数间歇性地捕获“文件不存在”
【发布时间】:2011-03-15 16:11:43
【问题描述】:

我正在使用Application_Error 事件来处理异常,它几乎可以正确捕获所有异常。但是在某些页面中,它捕获异常“文件不存在”,我无法找到它确切发生的位置。当我评论Application_Error 代码时,令人惊讶的是网页运行良好。

我主要关心的是如何追溯从它抛出到Application_Error函数的代码行。

【问题讨论】:

    标签: asp.net exception-handling global-asax


    【解决方案1】:

    要查看问题,请在 Global.asax 的 Application_Error 事件上放置:

    public void Application_Error(object sender, EventArgs e) {
            // Code that runs when an unhandled error occurs
            Exception ex = Server.GetLastError();
            Console.WriteLine("Application_Error() -> " + ex.Message + "\n\nURL: " + HttpContext.Current.Request.Url, ex);
    
            if (ex is HttpUnhandledException)
                Context.ClearError(); // System.NullReferenceException
        }
    

    【讨论】:

      【解决方案2】:

      使用HttpContext.Current.Request.Url.ToString()查看丢失文件的文件路径。

      【讨论】:

        【解决方案3】:

        就我而言,在 Jquery 中也有很多地方使用了不存在的背景图像 uri,这就是为什么会出现这种类型的错误。

        【讨论】:

          【解决方案4】:

          hoooo.......刚刚解决了我的问题。在调试期间,我在 Appilcation_Error 代码中放置了一个检查点,当执行到它时,我可以看到当时正在加载并导致异常的图像的路径(路径错误)。 :)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-01-02
            • 2012-08-08
            • 2017-06-05
            • 1970-01-01
            • 2020-12-01
            • 2020-08-30
            • 1970-01-01
            相关资源
            最近更新 更多