在Eclipse我收到警告Resource leak: 'ps' is not closed at this location,我不明白.
在我的Java代码中,我将"ps"声明为Prepared Statement,并且我多次使用(并关闭)它.然后我有以下顺序:
try {
if(condition) {
ps = c.prepareStatement("UPDATE 1 ...");
} else {
ps = c.prepareStatement("UPDATE 2 ...");
}
ps.executeUpdate();
} catch (SQLException e) {
// exception handling
} finally {
if (null != ps)
try {
ps.close();
} catch (SQLException e) {
// exception handling
};
}
Run Code Online (Sandbox Code Playgroud)
"资源泄漏" - 警告来自其他部分的"更新" - 声明.如果我ps = null在启动try块之前设置,则没有警告.
如果第二个UPDATE-Statement被注释掉,则不会显示警告.
这是理解还是java/eclipse的问题?