在.NET考试中,我遇到了这个问题.
您可以使用以下哪种方法来捕获应用程序中未处理的异常?
我知道它的Application_Error,但我想知道的是其他什么.通过一些谷歌搜索,我发现OnError可用于捕获任何错误.我仍然不确定.你能说出捕捉未处理异常的其他方法吗?
捕获未知错误的正确点是Application_Error.
避免在页面上捕获OnError,并让系统将其转移到Application_Error,因为您已经失去了对页面的控制,那么如果不将其传输到某个错误页面,您可以做些什么呢? - 如果你试图重新加载它,你就会遇到可能导致堆栈溢出的闭环问题.
根据我的经验,当我尝试使用页面处理错误时我遇到了问题OnError,只有当我必须释放一些全局内存时才会使用它,或者如果页面上发生错误则会使用它.
要提供摘要,请尝试捕获try/catch块中的所有错误,并向用户发送消息/或者只是处理此问题,但将未知错误传递给全局捕获程序以记录并修复它.未知错误会使您失去对程序的真正控制,实际上您不知道该怎么做因为您没有预测它 - 所以记录下来并在下次修复它
有关错误的更多详细信息: 如何在ASP.NET应用程序中创建"通用错误"页面,以便它处理在提供该页面时触发的错误?