Ostrzeżenie o wycieku zasobów w zaćmieniu
WEclipse
Otrzymałem ostrzeżenieResource leak: 'ps' is not closed at this location
tego nie rozumiem.
W moimJava
kod deklaruję„ps” jako Przygotowane Oświadczenie i używam go (i zamykam) wiele razy. Potem mam następującą sekwencję:
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
};
}
Ostrzeżenie „Przeciek zasobów” znajduje się w „Aktualizacji” w sekcji „Inne”. Jeśli ustawięps = null
zanim zacznę blok prób, nie ma ostrzeżenia.
Jeśli drugie polecenie UPDATE-Statement zostanie skomentowane, żadne ostrzeżenie nie zostanie wyświetlone.
Czy to jest zrozumienie, czy problem java / eclipse?