Соответствующий способ обработки исключений в многоуровневом приложении JavaJAVA

Программисты JAVA общаются здесь
Anonymous
Соответствующий способ обработки исключений в многоуровневом приложении Java

Сообщение Anonymous »

В моем приложении есть три уровня: контроллер, сервис и DAO. Мои уровни контроллера и сервиса находятся в весеннем режиме, а уровень DAO находится в Hibernate 6. Мой вопрос заключается в том, какой наиболее подходящий способ обработки исключений во время операций CRUD.
Например, если я просто регистрирую общее исключение в DAO, я получаю подробную информацию Только в журналах, а во внешнем интерфейсе я не могу вставить запись.

Код: Выделить всё

try{
} catch(Exception e){
logger("Error in DAO {}", e.getMessage(), e)
}
У меня три вопроса
  • Должен ли я перехватить общее исключение? Если да, то где его следует перехватить?
  • Если я поймаю HibernateException на уровне DAO, я все равно не смогу сообщить пользователю, что именно вызвало исключение, и поймаю ли я ConstraintViolationException как я могу обработать грамматическое исключение или исключение, которое возникает, когда сервер базы данных выходит из строя и т. д.?
  • Где мне следует перевести исключение? Должен ли я просто регистрировать и выдавать исключения из DAO на уровень службы и транслировать их на уровне службы, или мне следует преобразовать исключение в соответствующее сообщение об ошибке на уровне DAO?


Подробнее здесь: https://stackoverflow.com/questions/787 ... pplication

Вернуться в «JAVA»