Kor*_*gay 12 java exception try-catch
这段代码来自我们的项目,生产代码:
if (changedToNull) {
try {
throw new Exception();
} catch (Exception e) {
log.debug("changedToNull", e);
}
}
Run Code Online (Sandbox Code Playgroud)
开发人员不再与我们合作.
为什么有人会抛出Exception并直接捕获并记录它?
Nic*_*tto 23
主要目的是在您输入此if块以进行调试时获取调用堆栈,但可以将其重写为下一个:
if (changedToNull) {
log.debug("changedToNull", new Exception("changedToNull is true"));
}
Run Code Online (Sandbox Code Playgroud)
假设changedToNull永远不应该这样true,你想让调用堆栈理解它是如何发生的,你可以这样做.
创建一个调用堆栈是非常昂贵的,所以你应该debug通过检查下一个值isDebugEnabled()(假设你使用log4j)来确保启用该级别:
if (changedToNull && log.isDebugEnabled()) {
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1167 次 |
| 最近记录: |