Можете объяснить, для чего используется аннотация @ExceptionHandler в Java Spring?

Аннотация @ExceptionHandler в Java Spring используется для обработки исключений, которые возникают в контроллерах.

Короткий ответ

Что ответить на собеседовании

Аннотация @ExceptionHandler в Java Spring используется для обработки исключений, которые возникают в контроллерах. Она позволяет определить метод, который будет вызван при возникновении определённого типа исключения, что помогает централизованно обрабатывать ошибки и возвращать понятные ответы клиенту.

Подробный разбор

Ответ с пояснениями

Аннотация @ExceptionHandler в Java Spring используется для обработки исключений, которые возникают в контроллерах. Она позволяет определить метод, который будет вызван при возникновении определённого типа исключения, что помогает централизованно обрабатывать ошибки и возвращать понятные ответы клиенту.

Пример:

@Controller
public class MyController {

    @GetMapping("/example")
    public String example() {
        if (true) {
            throw new IllegalArgumentException("Некорректный аргумент");
        }
        return "ok";
    }

    @ExceptionHandler(IllegalArgumentException.class)
    public ResponseEntity<String> handleIllegalArgument(IllegalArgumentException ex) {
        return ResponseEntity
                .status(HttpStatus.BAD_REQUEST)
                .body("Ошибка: " + ex.getMessage());
    }
}

В этом примере, если в методе example выбрасывается IllegalArgumentException, то метод с аннотацией @ExceptionHandler перехватит это исключение и вернёт клиенту ответ с кодом 400 и сообщением об ошибке.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее