我正在使用SonarQube来提高代码质量.我遇到了一个与异常处理有关的问题,它说从finally块中删除了throw子句.
} catch(Exception e) {
throw new MyException("request failed : ", e);
} finally {
try {
httpClient.close();
} catch (IOException e) {
throw new MyException("failed to close server conn: ", e);
}
}
Run Code Online (Sandbox Code Playgroud)
根据我的理解,上面的代码看起来不错.如果我在最后删除throw子句并禁止异常,则此方法的调用者将无法知道服务器的状态.我不确定如果没有throw子句我们如何能够实现相同的功能.
java ×1