Sobes.tech
Back to questions
Junior — Middle
91

Какими методами в Spring можно реализовать обработку исключительных ситуаций?

Answer from AI

sobes.tech AI

В Spring для обработки исключительных ситуаций можно использовать несколько подходов:

  1. @ExceptionHandler — аннотация, позволяющая определить метод в контроллере или в классе с аннотацией @ControllerAdvice, который будет обрабатывать определённые типы исключений.
@ControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler(ResourceNotFoundException.class)
    public ResponseEntity<String> handleNotFound(ResourceNotFoundException ex) {
        return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage());
    }
}
  1. @ControllerAdvice — класс, который централизованно обрабатывает исключения для всех контроллеров.

  2. ResponseStatusException — выбрасывание исключения с определённым HTTP-статусом.

  3. HandlerExceptionResolver — интерфейс для более низкоуровневой обработки исключений.

  4. Использование фильтров и интерсепторов для перехвата исключений на уровне HTTP-запросов.

Чаще всего достаточно использовать @ExceptionHandler вместе с @ControllerAdvice для удобной и централизованной обработки ошибок.