1
我在try/catch中使用System.Diagnostics.Trace#TraceError来跟踪错误。通过查看TraceError的实现,看起来来自听众的错误没有被真正捕获。这是否意味着我应该写这样的代码下面,以避免登录传播到主叫方的错误:我是否需要在try/catch中包装Trace.TraceError?
catch (Exception e) {
try {
Trace.TraceError(e);
} catch {
// Do nothing
}
}
'你不应该捕捉异常,做nothing' - 我不同意高。如果冒出异常没有价值,为什么要泡它?如果您的日志子系统由于某种原因失败,您是否应该崩溃整个应用程序?你应该提醒用户吗?最有可能不是!在这种情况下抑制异常,并让应用程序继续执行其工作。 –
@PhilipPittle来吧。一般建议要注意。这就是我将相关问题联系起来的原因。正如你所说,规则可以根据场景进行更改:) btw为什么抑制错误?我宁愿修复它在代码中,如果它可以做到。 –
永远不要说永远:)。我同意最佳做法是对这个例外做些事情。但这并不是每个案件都需要的。 –