VS2017:使用DebuggerNonUserCodeAttribute时,为什么调试器会在处理的异常上中断?

时间:2018-12-11 12:25:09

标签: .net visual-studio debugging exception

当我使用DebuggerNonUserCodeAttribute并从委托或本地函数引发异常时,则调试器将打破此异常。如果我按继续,则程序将继续正常运行,并且异常得到处理。真烦人。

这是错误还是功能?如何解决?

[DebuggerNonUserCode]
class Program {


    static void Main(string[] args) {
        try {
            Action act = () => throw new Exception( "Hello World !" );
            act();
        } catch (Exception ex) {
            Console.WriteLine( "Error" );
        }

        Console.Read();
    }


}

更新

Visual Studio为什么写:Exception User-Unhandled

enter image description here

1 个答案:

答案 0 :(得分:1)

除非您更改了引发异常时中断的选项,否则它不应中断。验证是否未选中。

您可以通过取消选中Break when this exception type is thrown对话框中的选项(Exception Thrown)来做到这一点

enter image description here

或转到Exception Settings CTRL + ALT + e )并取消选中该选项:

enter image description here