在Visual Studio中运行应用程序时,有一个设置允许调试器在任何时候抛出某些指定的异常(即使它被应用程序正确捕获)。
这是一个非常有用的功能,因为在我的应用程序中应该永远不会发生一些异常(例如空引用),并且程序员应该以避免它们的方式编写代码(例如,总是执行null-check,其中可能出现null)。由于上面提到的功能,当发生这种不必要的异常时,我的调试器将始终直接在bug的位置断开。
现在我想向发布代码注入类似的逻辑。我希望每个异常的每个实例都会在发生堆栈跟踪时记录,即使在代码中捕获并处理了这个异常。 C#中有这样的机制吗?
我显然可以在所有(catch NullReferenceException)
块中添加try/catch
子句,但这将非常繁琐。