应用程序日志记录代码是否应该始终位于 catch 块中

eom*_*off 2 c# logging exception

应用程序日志记录代码是否应该始终位于 catch 块中?例如,检查 try 块中的对象是否为 null 是否更好,如果是,则记录异常或捕获 nullreference 异常并记录错误(警告)

Gal*_*boy 5

  • 首先防止异常总是比事后处理异常更好的做法。
  • 如果确实有可能存在空引用,则代码应该已经测试并适当地处理了这种情况。
  • 日志记录应尽可能与异常处理分离。实际上,您需要尽可能多地记录,然后让应用程序记录器决定什么是真正重要的。(使用错误级别 - 信息、警告、错误)所以是的,您的catch块应该记录,但这绝对不应该是您进行记录的唯一位置。

*我确信在某些极端情况下情况并非如此,但这种情况非常罕见。