我正在使用声纳法分析代码以检查其中的一些问题。如标题所示,该工具给我的建议之一是“使用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的建议?
答案 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();
}
}
}