在Eclipse
我收到一个Resource leak: 'ps' is not closed at this location
我不明白的警告。
在我的Java
代码中,我将“ps”声明为准备好的语句,并多次使用(并关闭)它。然后我有以下顺序:
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
};
}
“资源泄漏”-警告出现在 else 部分的“更新”-语句中。如果我ps = null
在开始尝试块之前设置,则没有警告。
如果第二个 UPDATE-Statement 被注释掉,则不会显示警告。
这是理解还是 java / eclipse 问题?