In Eclipse
I received a warning Resource leak: 'ps' is not closed at this location
that I don't understand.
In my Java
code I declare the "ps" as a Prepared Statement and I use (and close) it many times. Then I've the following sequence:
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
};
}
The "Resource leak"-Warning comes on the "Update"-Statement in the else section.
If I set ps = null
before I start the try block, there is no warning.
If the second UPDATE-Statement is commented out, no warning will be shown.
Is that an understanding or a java / eclipse problem?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…