Назад к вопросам
Simbirsoft
Junior — Middle
63
Можете объяснить, для чего используется аннотация @ExceptionHandler в Java Spring?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Аннотация @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 и сообщением об ошибке.