Visual Studio不会停止中断异常

时间:2015-09-02 23:03:57

标签: c# asp.net visual-studio exception xunit

我按照here的说明编写了一个xUnit.net DNX测试库。我的测试中有很多Assert.Throws个子句,这是一个问题,因为出于某种原因,Visual Studio不会停止打破子句抛出的异常。它说例外是"unhandled by user code,"然后很高兴继续向我展示这些例外之后的更多例外情况。

我已尝试检查并取消选中Debug > Exception Settings...中的所有复选框,但无济于事。调试器每次都会中断异常。我该怎么做才能解决这个问题?

3 个答案:

答案 0 :(得分:3)

您只是正在运行单元测试,还是调试单元测试?

您确定已取消选中Debug中的System.ArgumentOutOfRangeException - >例外菜单?

enter image description here

如果你已经取消选中并且仍在破坏它,那么我不确定如何帮助你。你看过Managing Exceptions with the Debugger了吗?

答案 1 :(得分:1)

我遇到了同样的问题。我使用了"新的Exception Helper"的所有最新功能。尝试禁用break on First机会异常,但UI复选框更改对底层调试器没有影响。

以下对我有用:

工具 - 选项=>调试=>一般=>取消选中"使用新的例外帮助"

之后,在调试期间弹出经典对话框。取消选中经典对话框中的例外工作。

Options/Debugger/NewExceptionHandler

答案 2 :(得分:0)

在VS 2017中,“例外设置”窗口中没有用户未处理的列。

因此,如果您正在调试并希望VS停止破坏用户未处理的异常 - 例如,因为它们已被记录并传递给ASP.NET - 这个page详细说明了如何执行此操作。 / p>

具体做法是:

  
      
  1. 在“例外设置”窗口中,右键单击窗口,然后选择“显示列”,打开上下文菜单。 (如果您关闭了Just My Code,则不会看到此命令。)
  2.   
  3. 您应该会看到名为“附加操作”的第二列。当用户代码未处理特定异常时,此列显示“继续”,这意味着如果在用户代码中未处理该异常但在外部代码中处理该异常,则调试器不会中断。
  4.   
  5. 您可以针对特定异常更改此设置(选择例外,右键单击,选择/取消选择“在用户代码中未处理时继续”)或整个异常类别(例如,所有公共语言运行时异常) )。
  6.