gpt4 book ai didi

java - Sonarqube 鱿鱼 :S2095 false positive

转载 作者:搜寻专家 更新时间:2023-10-31 19:44:22 25 4
gpt4 key购买 nike

在我们的代码库中,我们得到 Sonar 报告违反规则 squid:S2095 的代码如下:

    PreparedStatement ps = null;
try {
ps = connection.prepareStatement(DML);
ps.setString(1, externalDeviceId);
ps.setInt(2, internalDeviceId);
ps.execute();
return ps.getUpdateCount() > 0;
} finally {
Utilities.close(ps);
}

Utilities.close 实现为

    public static final void close(final AutoCloseable ac) {
if(ac != null) {
try {
ac.close();
} catch(Exception e) {
}
}
}

有没有办法避免这些误报?

最佳答案

如果您使用 Java 7+,有一种使用 try-with-resources 的简单方法,它能够自行关闭资源,您无需再关心它。请参阅尝试(PreparedStatement ps = connection.prepareStatement(DML)),一个教程:https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html

try (PreparedStatement ps = connection.prepareStatement(DML)) {
ps.setString(1, externalDeviceId);
ps.setInt(2, internalDeviceId);
ps.execute();
return ps.getUpdateCount() > 0;
}

关于java - Sonarqube 鱿鱼 :S2095 false positive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36573314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com