Proper connection close check not working sonar

54 views Asked by At

In the below code, there is a issue, con,ps,rs close will not be called if an exception is thrown.

public List<String> getRecordData(String email) {
        List<String> data = new ArrayList<>();
        Connection con = getConnection();
        try {
            PreparedStatement ps = con.prepareStatement("select subject from email_record where email=?");
            ps.setString(1, email);
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                data.add(rs.getString("subject"));
            }
            rs.close();
            ps.close();
            con.close();
        } catch (SQLException e) {
            throw new TestException(e);
        }
        return data;
    }

But sonarqube or sonarlint does not find any issue in this code. Do I need to enable some additional rules or something here?

sample sonarqube project - https://sonarcloud.io/project/issues?resolved=false&id=zchandikaz_sonar-test-code

0

There are 0 answers