У меня есть этот блок кода:
} catch (HibernateException e) {
loginAnswer = new LoginCustomerAreaAnswer(999);
//This function use the error code save inside loginAnswer
this.logOp.error(logsUtilities.logException(e, "HibernateException"));
} catch (Exception e) {
loginAnswer = new LoginCustomerAreaAnswer(997);
//This function use the error code save inside loginAnswer
this.logOp.error(logsUtilities.logException(e, "Exception"));
} finally {
return loginAnswer;
}
Как вы можете видеть, я сначала перехватываю исключение HibernateException, а затем общее исключение.
Но когда я просматриваю файл журнала, когда у меня есть исключение org.hibernate.Exception.GenericJDBCException, оно перехватывается как общее исключение!
Почему? GenericJDBCException не является «сыном» HibernateException? Разве это не должно быть перехвачено HibernateException?
Это пример моего файла журнала:
2013-05-21 11:01:02 [Level: ERROR]*** Exception: Error code: 997 - Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Cannot open connection
Подробнее здесь: https://stackoverflow.com/questions/166 ... atch-block