加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在ASP.NET中如何处理未处理的异常?

发布时间:2020-12-15 23:42:27 所属栏目:asp.Net 来源:网络整理
导读:在Visual Studio中调试应用程序时,有2个选项用于突破异常.抛出异常后立即中断,只有当异常未被捕获时才会断开.这在开发桌面应用程序时工作正常.但是,在开发ASP.NET应用程序时,所有异常最终都被IIS中的代码所捕获.是否可以禁用此行为,以便当我的ASP.Net应用程
在Visual Studio中调试应用程序时,有2个选项用于突破异常.抛出异常后立即中断,只有当异常未被捕获时才会断开.这在开发桌面应用程序时工作正常.但是,在开发ASP.NET应用程序时,所有异常最终都被IIS中的代码所捕获.是否可以禁用此行为,以便当我的ASP.Net应用程序代码无法捕获异常时调试器中断?

编辑:

只是为了清楚,我不想破坏每当一个异常被抛出,多次他们被处理好我的代码,我不想停止每一个异常.我只想停止不被我的代码处理的异常.

编辑:

这在Visual Studio 2008中似乎不是一个问题.在Visual Studio 2003中,所有异常都被视为用户处理,因为ASP.NET运行时捕获了所有异常,以免导致Web服务器进程失效.看起来在Visual Studio 2008中,检查用户未处理的异常时,不会计算这种异常捕获类型.

解决方法

在Debug->例外情况下,检查公共语言运行时异常的“Throwwn”列(至少).检查’Thrown’为您感兴趣的其他例外.

现在,如果调试器被连接(主动调试或“附加到进程”),您的ASP.NET应用程序将在CLR异常(或您选择的任何其他异常)中断.

[编辑]

如果您想仅在未处理的例外情况下,在Debug->例外情况下,请在所有异常类型上取消选中“Thrown”,并确保对您感兴趣的异常进行“User-unhandled”.

Exception Interface http://scatterbright.com/debug-exceptions.png

然后,如果连接了调试器,您的ASP.NET应用程序会破坏您所选择的每个用户未处理的异常,而不管运行时将最终捕获异常的事实.样品:

Debugger breaking on User-unhandled exception http://scatterbright.com/debugcatchingunhandledex.png

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读