【发布时间】:2009-06-26 17:32:15
【问题描述】:
我习惯于在每个方法中都有 try/catch 块。这样做的原因是我可以在违规点捕获每个异常并记录它。从我的阅读和与他人的交谈中,我明白这不是一个流行的观点。一个人应该只抓住准备处理的东西。但是,如果我没有抓住违规点,那么就有可能永远不会记录该违规行为并了解它。注意:当我接住但不处理时,我仍然会扔。这允许我让异常传播到可以处理它的东西,但仍然让我在违规点记录它。
那么...如何避免在每种方法中使用 try/catch,但仍然在错误发生时记录错误?
【问题讨论】:
-
什么语言?不同的语言有不同的方式来处理从捕获点到抛出点的回溯。
-
是什么促使您需要在违规点登录?如果您记录异常中包含的调用堆栈,您仍然可以在日志中查看发生了什么以及您的代码在该点结束时采取的路线
-
在违规点记录有两个原因。一,该方法可以发送要记录的对象及其值。第二,调用堆栈中可能有更高的代码最终可能会忽略或错误处理异常并且不会被记录。
标签: c# .net exception-handling exception-logging