Back to questions
ОТП Банк
Junior — Middle
95
Каким образом реализовать обработку исключений в приложениях, использующих Spring Framework?
Companies where asked
Answer from AI
sobes.tech AI
В Spring Framework обработка исключений обычно реализуется с помощью аннотации @ExceptionHandler в контроллерах или глобально через @ControllerAdvice.
Пример локальной обработки в контроллере:
@RestController
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.badRequest().body(ex.getMessage());
}
}
Для глобальной обработки создают класс с @ControllerAdvice:
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<String> handleAllExceptions(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body("Внутренняя ошибка сервера: " + ex.getMessage());
}
}
Такой подход позволяет централизованно обрабатывать ошибки, возвращать понятные клиенту ответы и поддерживать чистоту контроллеров.