代码之家  ›  专栏  ›  技术社区  ›  mckamey

在visual studio中,有没有办法在抛出特定异常时不中断?

  •  10
  • mckamey  · 技术社区  · 15 年前

    是否有pragma或debugger属性允许调试器在引发特定异常时不中断 尽管 在debug>>exceptions菜单下,我告诉它在抛出任何clr异常时中断?

    一般来说,在开发时,我喜欢在调试时对异常进行中断,以便可以立即检查它们。有时,有些孤立的情况下,我们知道这段代码偶尔会抛出异常,我用try-catch处理了它。见 the answer to this question 大家一致认为试捕是最正确的情况。

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

    顺便说一句,我目前正在visual studio 2008中体验这一点,但我猜要么所有版本都有答案,要么没有答案。

    1 回复  |  直到 15 年前
        1
  •  9
  •   AMissico    14 年前

    直接的答案可以在Debug菜单的Exceptions菜单项下找到。这是每个解决方案/项目的设置。(工具>选项>调试是系统范围的设置。)请参阅帮助主题 visual studio调试器,如何:在引发异常时中断 http://msdn.microsoft.com/en-us/library/d14azbfh.aspx 详细情况。“异常”对话框允许您设置引发的异常或进入调试器的异常。

    我发现我从 DebuggerStepThrough 属性。

    通常,我将抛出异常保留为默认值(debug>exceptions user unhandled checked and thrown unchecked),并添加 调试步骤 属性,该属性用于我不想单步执行的方法,也不想在该方法中引发任何异常。我很少使用 DebuggerHidden ,并进一步利用 DebuggerNonUserCode 在库代码中。