如何告诉调试器忽略抛出抛出的异常?

时间:2010-12-21 12:58:08

标签: c# visual-studio-2010 exception debugging

我有一个TextBox,我在其中使用第三方库验证输入。但是,当语法不正确时,此库会引发自定义异常。除了调试时,这不是什么大问题。

调试时,由于TextBox中的文本始终是错误的(我还在键入它),调试器将在每个字母后停止,直到它正确为止,这真的很烦人,因为我用每个字母验证。

如何告诉调试器不要破坏这些自定义异常?

P.S。我已经尝试过滤调试 - >例外(在Common Language Runtime Exceptions中添加),但这对我不起作用。调试器仍然在调用库的行停止。

P.P.S。使用Visual Studio 2010。

For the non-believers

答案:

最后我和我的PS非常接近。这是一个非常愚蠢的错误:我在命名空间中输入了一个拼写错误。感谢Pop Catalin和Madhur Ahuja指出它!

5 个答案:

答案 0 :(得分:14)

  

有一个'例外'窗口   Visual Studio ...尝试Ctrl-Alt-E时   调试并点击'Thrown'   您想要的例外的复选框   

您正在寻找相反的方式: Visual Studio: How to break on handled exceptions?

答案 1 :(得分:8)

Debug + Exceptions,单击Add Button。将类型设置为“Common Language Runtime Exceptions”,将Name设置为自定义异常的全名,包括命名空间名称。您现在可以取消此Thrown框,必要时首先展开节点。

答案 2 :(得分:7)

假设您想在意外发生异常时中断,您真的应该使用[System.Diagnostics.DebuggerHidden]方法从调试器中隐藏该方法。

答案 3 :(得分:1)

这对我有用:[DebuggerHidden]

答案 4 :(得分:0)

  

这不是调试器中的错误,而是故意更改。而   行为是不同的,可能会令人困惑,必须改变   在Visual Studio 2010中支持其他几种方案,包括   Silverlight调试。

  1. 为您在此处遇到的异常类型禁用“中断用户未处理的异常”(通过调试 - >异常)
  2. 对所有异常禁用“中断用户未处理的异常”(通过调试 - >例外)
  3. 有关详细信息,请参阅此处的链接。

    Breaking on exceptions in VS2010