我有以下代码

 try{//do something
     }
  catch (Exception e) {
        log.error(e, e);
        if (e instanceof RuntimeException) {
            throw (RuntimeException) e;
        } else {
            throw new RuntimeException(e);
        }
    }

findbugs统计分析工具向其抛出此警告

instanceMethod对于methodX中的所有非空值始终返回true,因为所有RuntimeException都是RuntimeException的实例

我不明白的是它被捕获的异常,而不是RuntimeException,那么为什么出现此警告?

最佳答案

您也可以尝试以下代码。这样会更好地阅读和维护。

try{//do something
}
catch (RuntimeException e) {
    throw e;
}
catch (Exception e) {
    throw new RuntimeException(e);
}

关于java - 在Java中处理运行时异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10717585/

10-10 15:05