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

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

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

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

PS我已经尝试过滤Debug – > Exceptions(在Common Language Runtime Exceptions添加它),但这对我不起作用。 调试器仍然在调用库的行停止。

PPS使用Visual Studio 2010。

对于非信徒

回答:

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

Visual Studio中有一个“例外”窗口…在调试时尝试Ctrl-Alt-E并单击“Thrown”复选框以查看要停止的exception

您正在寻找相反的方式: Visual Studio:如何打破处理的exception?

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

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

这对我[DebuggerHidden][DebuggerHidden]

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

  1. 对于您在此处遇到的exception类型,禁用“中断用户未处理的exception”(通过调试 – >exception)
  2. 对所有exception禁用“中断用户未处理的exception”(通过Debug – > Exceptions)

有关详细信息,请参阅此处的链接。

打破VS2010中的exception