【发布时间】:2011-10-23 04:36:24
【问题描述】:
应用程序日志记录代码是否应该始终处于 catch 块中? 例如检查 try 块中的对象是否为 null 是否更好,如果是则记录异常或捕获 nullreference 异常并记录错误(警告)
【问题讨论】:
-
取决于代码块的上下文,你不认为日志的预期目的是什么?
标签: c# logging exception-handling
应用程序日志记录代码是否应该始终处于 catch 块中? 例如检查 try 块中的对象是否为 null 是否更好,如果是则记录异常或捕获 nullreference 异常并记录错误(警告)
【问题讨论】:
标签: c# logging exception-handling
catch 块应该记录,但绝对不应该是你记录的唯一地方。*我确信在某些极端情况下这是不正确的,但这种情况非常罕见。
【讨论】:
拥有日志总是很好的,它可以帮助您了解正在发生的事情、应用程序的行为方式、进行适当的跟踪、监控等......但是我认为在哪里拥有它取决于您的应用程序和上下文.确保必须记录异常详细信息,以便您可以检查发生了什么,但是要在 finally 块或其他地方登录 catch 块,这取决于您的代码。
【讨论】:
总是是一个强词,日志代码应该在需要的地方。在大多数情况下,日志记录是有分类的。
**INFO**: General application information
**DEBUG**: Information that may be helpful if trying to debug using the log.
**ERROR**: Error information.
我确信还有其他类别,但是正如您所看到的,在这 3 个的情况下,错误日志记录可能只会出现在 catch 块中,而其他 2 个确实可以在任何地方。
【讨论】:
最好在 catch 块中这样做,即使仅基于可读性。将错误处理与其他代码分开总是更好。
【讨论】:
我认为日志记录是一个跨领域的问题,所以我将它放在一个方面。您拥有的 catch 块越多,您必须编写的日志记录代码就越多。如果您可以将建议编织到异常中,您可以编写一次日志记录代码并将其保存在一个地方。
【讨论】: