【问题标题】:How do I make Visual Studio 2015 ignore handled exceptions?如何让 Visual Studio 2015 忽略已处理的异常?
【发布时间】:2017-09-05 20:24:58
【问题描述】:

所以我有这段代码,在 Visual Studio 中调试时,即使在我的代码中处理了异常,它也会中断。我只希望它在我的代码未处理此异常时中断。异常设置框只有一个选项可以继续处理用户代码中未处理的异常,但这是不可接受的,因为如果它未处理,我仍然需要它来中断。我看过以前版本的 VS 的屏幕截图,其中有一个选项。这是 VS 2015 的错误还是微软删除了该功能,或者我只是在这里遗漏了什么?

【问题讨论】:

  • 因为我看不到足够的代码,所以你有一个问题......你是否也在处理它......如果没有,那么它会崩溃。
  • 这对于这种情况并不重要。问题是我希望它忽略我正在处理的异常,所以当绿线抛出异常时,调试器不应该中断。
  • @frodo2975,您现在能否在“异常设置”窗口中获得“在用​​户代码中未处理时继续”选项?请与我们分享您身边的最新信息。

标签: c# visual-studio-2015 exception-handling visual-studio-debugging


【解决方案1】:

在“例外设置”窗口中,当它们像在您的图片中一样被检查时,即使已处理,它也会始终中断(注意窗口显示Break When Thrown)。

您可以右键单击Common Language Runtime Exceptions 并在上下文菜单中选择Restore Defaults,这会将其改回仅在未处理时才中断。

【讨论】:

  • 我已将它们重置为默认值,但在我处理它时它仍然会中断。
【解决方案2】:

VS2015 确实改变了某些设置,但是你可以在 TOOLS->Options->Debugging->General 下启用 Just My Code 后使用“Continue when unhandled in user code”,它与旧 VS 具有相同的功能异常窗口中第二列的版本。

更多详细信息,请参考以下博客:

https://blogs.msdn.microsoft.com/visualstudioalm/2015/02/23/the-new-exception-settings-window-in-visual-studio-2015/

https://blogs.msdn.microsoft.com/visualstudioalm/2015/01/07/understanding-exceptions-while-debugging-with-visual-studio/#user-unhandled

【讨论】:

    【解决方案3】:

    以前发生在我身上,我做了什么:

    1. 我停止了调试,并且
    2. 清理解决方案 要么 重新启动您的 Visual Studio。

    我希望它也对你有用。

    【讨论】:

      【解决方案4】:

      所以事实证明这是使用 NUnit 测试时的一个已知问题。 NUnit 本质上在你的代码周围有一个巨大的 try/catch,所以 VS 认为它已经被处理了。

      看到这个问题:Why doesn't Visual Studio break on exceptions when debugging unit tests?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-26
        相关资源
        最近更新 更多