Sobes.tech
Back to questions
Junior — Middle
57

Какими подходами к управлению исключениями в Spring Framework ты знаком?

Answer from AI

sobes.tech AI

В Spring Framework для управления исключениями знаком с несколькими подходами:

  • Использование аннотации @ExceptionHandler в контроллерах для обработки конкретных исключений и возврата кастомных ответов.

  • Глобальная обработка исключений с помощью класса, аннотированного @ControllerAdvice, где можно централизованно обрабатывать ошибки приложения.

  • Переопределение методов в ResponseEntityExceptionHandler для обработки стандартных исключений Spring MVC.

Пример глобального обработчика:

@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(ResourceNotFoundException.class)
    public ResponseEntity<String> handleNotFound(ResourceNotFoundException ex) {
        return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage());
    }

    @ExceptionHandler(Exception.class)
    public ResponseEntity<String> handleGeneral(Exception ex) {
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Внутренняя ошибка сервера");
    }
}

Такой подход позволяет централизованно управлять ошибками и улучшать качество ответов API.