在工具/异常中,我设置了调试器在抛出异常时停止的选项.是否被抓住.
如何排除该规则的例外?在我的代码中的某处有一个被捕获的异常,它是程序逻辑的一部分.所以我显然不希望该异常在每次命中时停止调试器.
示例:我想忽略第344行的nullreference异常(捕获).我想停止所有其他例外
我有一些代码在一个特定的行上生成了大量的ArgumentExceptions(这是在不同的开发人员的代码中,所以我不能只改变它),然后被适当地捕获和处理.
我正在尝试调试ArgumentExceptions,它们发生在代码的不同部分(然后被捕获和处理,所以我不能只看未处理的异常).
有没有办法忽略源自该特定其他代码行的ArgumentExceptions,同时仍然打破在别处抛出的ArgumentExceptions?
我有一个TextBox,我在其中使用第三方库验证输入.但是,当语法不正确时,此库会引发自定义异常.除了调试时,这不是什么大问题.
在调试时,由于TextBox中的文本始终是错误的(我还在键入它),调试器将在每个字母后停止,直到它正确,这真的很烦人,因为我验证每个字母.
如何告诉调试器不要破坏这些自定义异常?
PS我已经尝试过滤Debug - > Exceptions(添加它Common Language Runtime Exceptions
),但这对我不起作用.调试器仍然在调用库的行停止.
PPS使用Visual Studio 2010.
回答:
最后我和我的PS非常接近.这是一个非常愚蠢的错误:我在命名空间中输入了一个拼写错误.感谢Pop Catalin和Madhur Ahuja指出它!
在我的程序中,我创建动态lambda表达式,然后将它们编译为委托.然后调用这些代理以从我的实体中提取信息.一些代表可能会抛出异常,我已经抓住了我调用代理的异常.我已启用"仅启用我的代码"并将[DebuggerNonUserCode]属性应用于创建LambdaExpression的位置,已编译的位置以及调用的位置.但是因为在Debug> Exceptions> Common Language Runtime Exceptions中,选中了Thrown复选框,visual studio总是停止错误,这对开发人员来说是一个很大的不便.
似乎[DebuggerNonUserCode]应该以某种方式应用于已编译的委托,但是如何?还是其他任何建议?
谢谢.