14

是否有一个编译指示或调试器属性允许调试器在抛出特定异常时不会中断,即使在“调试>>异常”菜单下我已经告诉它在抛出任何 CLR 异常时中断?

一般来说,在开发过程中,我喜欢让它在调试时中断异常,以便我可以立即检查它们。有时有一些孤立的情况,已知这段代码偶尔会引发异常,我已经使用 try-catch 处理了它。请参阅这个问题的答案,其中一致认为 try-catch 是最正确的情况。

我希望能够在方法上设置一个属性(类似于 System.Diagnostics.DebuggerHiddenAttribute),它只是忽略方法中抛出的任何异常。

顺便说一句,我目前在 Visual Studio 2008 中遇到这种情况,但我猜要么所有版本都有答案,要么没有。

4

1 回答 1

13

直接答案可以在 Debug 菜单的 Exceptions 菜单项下找到。这是每个解决方案/项目设置。(工具 > 选项 > 调试是系统范围的设置。)请参阅帮助主题Visual Studio 调试器,如何:抛出异常时中断,网址为http://msdn.microsoft.com/en-us/library/d14azbfh。 aspx了解详情。Exceptions 对话框允许您设置抛出哪些异常或哪些异常中断到调试器中。

我发现我从DebuggerStepThrough属性中得到了更多的使用。

一般来说,我将抛出异常保留为默认值(调试 > 异常用户未处理选中和抛出未选中),并DebuggerStepThrough为我不感兴趣的方法添加属性,也不对该方法中抛出的任何异常感兴趣。我很少使用,并在库代码中DebuggerHidden得到更多使用。DebuggerNonUserCode

于 2009-08-30T05:14:32.697 回答