【发布时间】:2020-10-16 04:56:18
【问题描述】:
我知道故意依赖程序流中的异常并不是一个好习惯。但也有必要的时候:
例如。我找不到不依赖异常返回错误值的 Json TryParse 方法。
我如何调试和中断除这些预期异常之外的所有异常?
-- 编辑(我还在为此苦苦挣扎)--
假设我使用第一个答案中显示的代码: How to make sure that string is valid JSON using JSON.NET
在某些情况下,代码会故意处理 JsonReaderException 并返回 false。
发生这种情况时,我不希望调试器在该行中断。但是我不希望在我的代码中的其他地方忽略 JsonReaderExceptions。
我可以只在这一种方法中忽略异常吗?
--
我发现我可以忽略整个程序集的异常类型 https://devblogs.microsoft.com/devops/break-on-exceptions-thrown-only-from-specific-modules-in-visual-studio-15-preview/
这种方法并不令人满意,因为我经常使用 COMExceptions,而且我不可能故意忽略程序集中的所有 COMExceptions。
我认为可以以更细粒度的方式忽略异常。我希望能够使用指示调试器继续的属性来装饰我的方法。类似于 [System.Diagnostics.DebuggerStepThrough]
【问题讨论】:
-
把它放在
try catch,断点catch?还是我误解了你? -
如果我理解你可以使用 VS 的 Exception Settings 窗口来选择要中断的异常。即它停止在异常被抛出而不是在异常被捕获时停止。 this might help - blatant self-promotion