使用try-with-resources或在“ finally”子句中关闭此“声明”

时间:2020-11-01 18:55:33

标签: java sonarqube

我正在使用声纳法分析代码以检查其中的一些问题。如标题所示,该工具给我的建议之一是“使用try-with-resources或在“ finally”子句中关闭此“ Statement”” 。即使检查了一些笔记,我也不知道它指的是什么。这段代码是这样的:

try {
    sentencia = conexion.createStatement();
    sentencia.executeUpdate(consulta);
    dispose();
} catch (SQLException e1) {
    JOptionPane.showMessageDialog(this, "No se puede insertar la cita", "Error", JOptionPane.ERROR_MESSAGE);
    LOGGER.log(Level.SEVERE,"Excepcion provocada",e1);
}

我该如何解决这个问题,使其表现出Sonarqube的建议?

1 个答案:

答案 0 :(得分:0)

类似的事情应该有所帮助!

void test(){
        Statement sentencia;
        Connection conexion;

        try {
            sentencia = conexion.createStatement();
            sentencia.executeUpdate(consulta);
            dispose();
        } catch (SQLException e1) {
            JOptionPane.showMessageDialog(this, "No se puede insertar la cita", "Error", JOptionPane.ERROR_MESSAGE);
            LOGGER.log(Level.SEVERE,"Excepcion provocada",e1);
        } finally {
            if(null != sentencia){
                sentencia.close();
            }
        }
    }