で、よくわからない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
try ブロックを開始する前に設定すると、警告は表示されません。
2 番目の UPDATE-Statement がコメント化されている場合、警告は表示されません。
それは理解ですか、それともJava / Eclipseの問題ですか?