私たちのコード ベースでは、次のようなコードでルール squid:S2095 の Sonar レポート違反が発生します。
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) {
}
}
}
これらの誤検知を回避する方法はありますか?