在工具/异常中,我设置了调试器在抛出异常时停止的选项.是否被抓住.
如何排除该规则的例外?在我的代码中的某处有一个被捕获的异常,它是程序逻辑的一部分.所以我显然不希望该异常在每次命中时停止调试器.
示例:我想忽略第344行的nullreference异常(捕获).我想停止所有其他例外
我知道我可以控制Visual Studio根据类型处理异常的方式,以及最终使用"异常"对话框捕获异常的事实.
但是,ArgumentOutOfRange当我调用特定方法时,我有一个内部抛出(并捕获)异常的库 .抛出异常(并被库捕获)可能有1%的时间,但我正在调用这个方法.编辑说这是设计的(事实上,他们选择的设计是有道理的).
问题是每次抛出异常时我都不希望Visual Studio中断.
ArgumentOutOfRange异常,因为我可能在我的代码中有一些并想要打破这些.有没有办法实现这个目标?我一直在研究属性(例如DebuggerStepThrough),但还没找到足够的东西.
关于如何做到这一点的任何提示?
debugging exception visual-studio-2010 visual-studio visual-studio-debugging
假设我有一个抛出异常的函数.假设此函数由第三方DLL调用,第三方DLL将处理我抛出的异常.
如果Visual Studio决定第三方DLL不是"用户代码"(如下图所示),那么默认情况下它将在我的异常中停止,即使它稍后处理.这样做并非完全错误 ; 它清楚地解释了用户代码未处理异常.但是,是什么让Visual Studio将一些DLL称为"用户代码"而其他人不是?

我有一个理论认为这是因为没有加载符号,但是列表中的模块已经加载了符号,但仍然不被视为"用户代码".