C# 无论何时记录NullReferenceException';代码中的某个地方被抛出

C# 无论何时记录NullReferenceException';代码中的某个地方被抛出,c#,exception,C#,Exception,在VisualStudio中运行应用程序时,有一个设置允许调试器在抛出某个指定异常时中断(即使应用程序正确捕获了该异常) 这是一个非常有用的特性,因为在我的应用程序中,某些异常(例如null引用)永远不会发生,程序员应该以某种方式编写代码来避免它们(例如,在可能出现null的地方总是执行null检查)。由于上面提到的特性,当出现这种不需要的异常时,我的调试器总是会在错误发生的地方直接中断 现在我想将类似的逻辑注入到发布代码中。我希望每次发生异常时,都使用stacktrace记录每个异常实例,即使

在VisualStudio中运行应用程序时,有一个设置允许调试器在抛出某个指定异常时中断(即使应用程序正确捕获了该异常)

这是一个非常有用的特性,因为在我的应用程序中,某些异常(例如null引用)永远不会发生,程序员应该以某种方式编写代码来避免它们(例如,在可能出现null的地方总是执行null检查)。由于上面提到的特性,当出现这种不需要的异常时,我的调试器总是会在错误发生的地方直接中断

现在我想将类似的逻辑注入到发布代码中。我希望每次发生异常时,都使用stacktrace记录每个异常实例,即使在代码中捕获并处理了该异常。C#中有这样的机制吗


显然,我可以将
(catch-NullReferenceException)
子句添加到所有
try/catch
块中,但这将非常乏味。

您想要类上的事件

如果您的对象是asp.net对象,那么ELMAH可以很好地记录事件。