【发布时间】:2016-08-03 01:38:29
【问题描述】:
在我们的代码库中,我们收到 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插件?
-
java插件版本为3.11
-
在 3.12 期间对此进行了一些改进,并且很快就会发布 3.13。我建议您至少尝试使用 3.12 版以从此修复中受益:jira.sonarsource.com/browse/SONARJAVA-1538
-
使用 //NOSONAR 注释
标签: java sonarqube false-positive