【问题标题】:How to catch unhandled exceptions in an asp.net application?如何在 asp.net 应用程序中捕获未处理的异常?
【发布时间】:2012-06-10 11:40:43
【问题描述】:

在 .NET 考试中我遇到了这个问题。

您可以使用以下哪项来捕获应用程序中未处理的异常?

  • Server_Error
  • Page_Error
  • Application_Error
  • Response_Error
  • OnError 事件

我知道它的Application_Error,但我想知道其他的是什么。通过一些谷歌搜索,我发现 OnError 可用于捕获任何错误。我仍然不确定。你能告诉我捕捉未处理异常的其他方法是什么

【问题讨论】:

    标签: asp.net .net


    【解决方案1】:

    捕捉未知错误的正确位置是Application_Error

    避免捕获页面上的OnError,让系统将它转移到Application_Error,因为你已经失去了对页面的控制,那么如果不将它转移到某个错误页面,你还能做什么呢? - 如果您尝试重新加载它,您会遇到问题处于可能导致堆栈溢出的闭环中。

    根据我的经验,当我尝试使用页面 OnError 处理错误时遇到问题,并且我仅在必须释放一些全局内存时使用它,或者在页面上发生错误时使用它。

    总结一下,尝试在 try/catch 块中捕获所有错误,并向您的用户发送消息/或只是处理此问题,但让全局捕获器记录未知错误并修理它。未知错误会让你失去对程序的真正控制,实际上你不知道该怎么做,因为你没有预测它 - 所以记录它并在下次修复它

    有关错误的更多详细信息: How do I make a "generic error" page in my ASP.NET application so that it handles errors triggered when serving that page itself?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多