Встречается на собеседованиях • сегодня
Как была устроена обработка исключений на прошлой работе
Мы использовали многоуровневый подход к обработке исключений:
1. На уровне DAO/репозиториев - ловили специфичные SQL/JPA исключения и преобразовывали в наши кастомные unchecked исключения (DataAccessException, EntityNotFoundException).
2. В сервисном слое - обрабатывали бизнес-логику, выбрасывая кастомные checked исключения (InvalidOrderException, PaymentFailedException).
3. В контроллерах - ловили все исключения и маппили в соответствующие HTTP статусы через @ExceptionHandler.
Пример:
```java
@ExceptionHandler(EntityNotFoundException.class)
public ResponseEntity handleNotFound(EntityNotFoundException ex) {
return ResponseEntity.status(HttpStatus.NOT_FOUND)
.body(new ErrorResponse(ex.getMessage()));
}
```
Для логирования использовали AOP (@AfterThrowing), чтобы не засорять основной код. Критические ошибки отправляли в Sentry.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы