Я хочу получить это исключение, но оно не работает. В основном, он выполняет следующий код: метод вызова createConnection() для попытки подключения к базе данных. Если база данных не существует, возникает два исключения. Я ловлю как, но работает только для SQLException, а не для HsqlExceptionCatch HsqlException
try {
createConnection();
} catch (HsqlException | SQLException e1) {
System.out.println("Not exist the DataBase. Creating a new one.");
new CreateDB();
}finally{
try {
createConnection();
} catch (SQLException | org.hsqldb.HsqlException e) {
e.printStackTrace();
System.out.println("Some big error ocurred. Please contact me.");
System.exit(0);
}
}
код из CreateConnection()
и исключение составляет
2015-04-17T15:12:37.834+0100 SEVERE could not reopen database
org.hsqldb.HsqlException: Database does not exists: db\dogsRus
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.persist.Logger.open(Unknown Source)
at org.hsqldb.Database.reopen(Unknown Source)
at org.hsqldb.Database.open(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.DatabaseManager.newSession(Unknown Source)
at org.hsqldb.jdbc.JDBCConnection.<init>(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at ac.uk.jov2.dogsRus.database.DataBaseUtil.createConnection(DataBaseUtil.java:90)
at ac.uk.jov2.dogsRus.database.DataBaseUtil.<init>(DataBaseUtil.java:54)
at ac.uk.jov2.dogsRus.database.DataBase.<init>(DataBase.java:16)
at ac.uk.jov2.dogsRus.Application.<init>(Application.java:28)
at ac.uk.jov2.dogsRus.Application.main(Application.java:388)
Как вы знаете, его не поймают даже printstrace напечатает Трассирование и вы делаете System.exit в коде, который остановить программу. – Panther
Являются ли 'HsqlException' и' org.hsqldb.HsqlException' тем же классом? Что говорит ваш импорт для 'HsqlException'? –
Вы не получаете какую-либо ошибку компиляции? И я не понял, почему вы вызвали createConnection(); в верхнем блоке try, а также в блоке try в try? – Bikku