如何告诉调试器忽略抛出抛出的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调试。
- 对于您在此处遇到的exception类型,禁用“中断用户未处理的exception”(通过调试 – >exception)
- 对所有exception禁用“中断用户未处理的exception”(通过Debug – > Exceptions)
有关详细信息,请参阅此处的链接。
打破VS2010中的exception