Я пишу код на Java, который включает в себя базы данных (SQLite), и я новичок в нем, поэтому мне нужна помощь с этим. Мой код выглядит следующим образом:Утечка ресурсов Java в PreparedStatement
Connection connection = null;
try {
connection = SQLiteConnector.getConnection(database Name);
PreparedStatement prepStat = connection.prepareStatement("some SQL stuff");
ResultSet result= prepStat.executeQuery();
// Use of result
if (condition1){
prepStat = connection.prepareStatement("some SQL stuff");
result = prepStat.executeQuery();
// Another use of result
if (condition2){
prepStat = connection.prepareStatement("some SQL stuff");
}
else{
prepStat = connection.prepareStatement("some SQL stuff");
}
result = prepStat.executeQuery();
// Use of result
result.close();
prepStat.close();
}
} catch (Exception e) {
// Exception management
}
finally{
SQLiteConnector.closeConnection(connection);
}
И я получаю исключение, говоря: «утечки ресурсов:„стат“не замкнута в этом месте» в еще блока. Как мне его реорганизовать?
Спасибо заранее
Опубликуйте стек и выберите линию, которая его выбрасывает. Или это ошибка времени компиляции? – wvdz
Сообщение об утечке ресурсов - это только предупреждение - ваш код все равно будет компилироваться и запускаться, если вы не решите проблему. Предполагая, что вы имели в виду 'prepStat', а не' stat', предупреждение отображается в строке 'prepStat.close();' или около того? Кроме того, какую версию JDK вы используете? – JonK
Вы не выглядите '.close()' первым ''prepStat', не так ли? – fge