【问题标题】:Only break for certain exception types仅针对某些异常类型中断
【发布时间】:2010-03-02 16:27:06
【问题描述】:

我知道异常处理是一件非常重要的事情,我们在所有项目中都在这样做。主要原因是记录客户发生的错误。这很好用,完全没有问题。

但当我仍在使用 Visual Studio 编写和运行应用程序时,我根本不想要任何异常处理。我希望调试器在应用程序崩溃的那一行停止,而不是在我写的一些错误记录器中。而且我不想用 throw 转发异常!

但我仍在寻找一种简单的方法来做到这一点。我可以在 try/catch 周围写无数 #if Debug#if Release 语句,但这不是我想做的。有没有其他方法可以解决这个问题?

【问题讨论】:

  • 为什么不能用现有的异常处理编码?
  • @JonH -- 可能存在性能问题。异常处理既方便又通用,但也有代价。

标签: c# visual-studio exception-handling


【解决方案1】:

(1) 使用您的项目打开 Visual Studio
(2) 调试菜单,异常
(3) 对于您关心的异常类型,勾选 Throw 框。

这将使得每当抛出所选类型的异常时,您将自动闯入它。当您想返回常规调试时,请返回同一异常窗口并单击“全部重置”,然后您将返回默认设置。

【讨论】:

【解决方案2】:

您可以将 Visual Studio 调试器配置为在引发异常时中断。请参阅菜单调试 -> 异常。

更多信息:

How to: Break When an Exception is Thrown

【讨论】:

    【解决方案3】:

    在visualstudio菜单调试->异常 检查“Thrown”列下的所有内容。默认情况下,将检查“用户未处理”列中的所有项目

    这样,只要抛出异常,调试器就会中断。

    注意:这不是项目属性的一部分

    【讨论】:

    【解决方案4】:

    Debug > Exceptions (Ctrl+Alt+E),勾选 Thrown on Common Language Runtime Exceptions 以抛出所有异常,或通过 find all 手动选择您想要的异常。完成调试后,点击 Reset All 以恢复默认值。

    【讨论】:

      【解决方案5】:

      在 VS 编辑器中,您可以在不设置断点的情况下设置代码中断的异常类型 - 您可以使用调试菜单进行设置 -> 异常 这将允许你做你想做的事。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多