【发布时间】:2012-05-23 09:58:18
【问题描述】:
我有以下代码
try{//do something
}
catch (Exception e) {
log.error(e, e);
if (e instanceof RuntimeException) {
throw (RuntimeException) e;
} else {
throw new RuntimeException(e);
}
}
findbugs 静态分析工具会在其上抛出此警告
instanceof 将始终为 methodX 中的所有非空值返回 true,因为所有 RuntimeException 都是 RuntimeException 的实例
我不明白的是它的异常被捕获而不是运行时异常,那么为什么会出现这个警告呢?
【问题讨论】: