次のコードがあります
try{//do something
}
catch (Exception e) {
log.error(e, e);
if (e instanceof RuntimeException) {
throw (RuntimeException) e;
} else {
throw new RuntimeException(e);
}
}
findbugs 静的分析ツールは、この警告をスローします
すべての RuntimeException は RuntimeException のインスタンスであるため、instanceof は methodX のすべての非 null 値に対して常に true を返します。
私が理解していないのは、RuntimeExceptionではなくキャッチされているその例外であるため、なぜこの警告ですか?