Я использую следующий метод, чтобы закрыть соединение с базой данных Java:
public void shutdownDisconnect() {
if(connectionExists) {
String databaseURL = getDBurl();
dbProperties.put("shutdown", "true");
try {
DriverManager.getConnection(databaseURL, dbProperties);
System.out.println("success");
} catch (SQLException ex) {
//shutdown always results in an SQLException
System.out.println(ex);
//This exeption is:java.sql.SQLNonTransientConnectionException: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08006, SQLERRMC: Database 'databasename' shutdown.
}
connectionExists = false;
}
}
Мой первый System.out.println
ничего не печатает, что означает, что попытка не выполнена, и я получаю указанное выше исключение.
Насколько я знаю, "успешное завершение работы всегда приводит к SQLException", но означает ли это, что оператор try не выполняется? Спасибо за вашу помощь.