相关疑难解决方法(0)

如何避免finally块中的throw子句

我正在使用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

7
推荐指数
1
解决办法
2627
查看次数

标签 统计

java ×1