我正在使用以下方法关闭与Java DB的连接:
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
没有打印任何内容,这意味着未执行try,并且出现上述异常。据我了解,“成功关闭总是会导致SQLException”,但这是否意味着未执行try语句?谢谢你的帮助。
最佳答案
您的try
块已执行,否则将不会引发异常。
不幸的是,这就是使用Derby进行关机的方式。
关于derby - JAVA DB:Shutdown Derby不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9883934/