为什么 Visual Studio 中断在第三方库中抛出和处理的异常?

Why does Visual Studio break on Exceptions thrown and handled in a third party library?

今天我正在处理一个用 C# 编写的 Excel add-in,并且 Visual Studio 一直在中断 CryptographicException(见屏幕截图)。这不是我正在开发的代码处理的异常,它是由我正在使用的第三方库处理的。但是 VS 仍然会中断它。如果我点击 "Continue",应用程序将愉快地继续 运行,即使在应用程序的任何地方都没有明确捕获异常。我没有第三方库的来源

我在“异常”对话框中启用了 "Just My Code" 并从 "CryptographicException" 中删除了检查,但它一直中断异常。我阅读了我能找到的相关问题。 This question 非常接近我的要求,但 OP 仍然希望看到第三方库抛出异常,而我只想看到 "my code".

中未处理的异常

那么,Visual Studio 中是否有允许我这样做的设置?

只有我的代码不会阻止 Visual Studio 在第 3 方库中抛出异常时中断。参见 Just my code

If an unhandled exception occurs in non-user code, the debugger breaks at the line in user code where the exception was generated. If first chance exceptions are enabled for the exception, the user-code line is highlighted in green.

现在的问题是,它是真的未处理(标记为黄色)还是标记为绿色 -> 已处理的行。

原来我所要做的就是禁用此设置:

对于那些感兴趣的人,它位于工具 -> 选项 -> 调试 -> 常规 -> 页面顶部。