asp.net - 如何捕获 ASP.NET 应用程序中未处理的异常?

标签 asp.net .net

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

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

  • 服务器错误
  • 页面错误
  • 应用程序错误
  • 响应错误
  • OnError 事件

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

最佳答案

捕获未知错误的正确点是 Application_Error

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

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

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

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

关于asp.net - 如何捕获 ASP.NET 应用程序中未处理的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10968370/

相关文章:

c# - 动态改变jwplayer视频路径

asp.net - 64位机器上系统内存不足异常?

c# - 如何将值传递给此方法?

c# - 使用列索引将 DataTable 拆分为 2

c# - 为什么 dapper 将每个数字列作为 Int64 返回?

.net - 为什么我使用 localdb 进行的测试在 Azure DevOps 中运行良好?

c# - 使用列表 IndexOf 时未设置 Combobox SelectedIndex

c# - 网站上的数字快速更新

c# - Resharper 4.5 中的解决方案范围分析中断?

php - .Net 中的 "convert.tobase64string"是否等于 PHP 中的 "base64_encode"?