Я хочу использовать @ExceptionHandler для обработки любых исключений Hibernate. Если исключение не является исключением Hibernate, исключение обрабатывает ошибка @ExceptionHandler for Runtime.
проблема в том, что исключение во время выполнения всегда имеет приоритет над обработчиком исключений Hibernate. Это означает, что любое возникающее исключение гибернации обрабатывается общим обработчиком исключений времени выполнения.
Как я могу гарантировать, что исключения Hibernate обрабатываются его обработчиком исключений, а не обрабатываются исключениями времени выполнения?
'@ExceptionHandler(HibernateException.class)
public String handleHibernateException(HibernateException exc, Model theModel) {
String message = "An error has occured: " + exc.getLocalizedMessage() + "\n" + exc.getCause().toString()
+ "\r\n";
myLogger.warning(message);
theModel.addAttribute("exception", message);
return "testing";
}
// handle any other runtime/unchecked exception and log it
@ExceptionHandler(RuntimeException.class)
public String handleRuntimeExceptions(RuntimeException exc, Model theModel) {
String message = "An error has occured: " + exc.getLocalizedMessage() + "\n" + exc.getCause().toString()
+ "\r\n";
myLogger.warning(message);
theModel.addAttribute("exception", message);
return "testing";
}'