Back to questions
Северсталь-Ифоком
Junior — Middle
64
Каким образом реализовать обработку ошибок в приложениях, использующих Spring Web MVC?
Companies where asked
Answer from AI
sobes.tech AI
В Spring Web MVC обработка ошибок реализуется с помощью аннотаций и специальных классов, которые позволяют централизованно перехватывать и обрабатывать исключения.
Основные способы:
- @ExceptionHandler — аннотация для методов в контроллере, которые обрабатывают конкретные исключения.
@Controller
public class MyController {
@ExceptionHandler(ResourceNotFoundException.class)
public ResponseEntity<String> handleNotFound(ResourceNotFoundException ex) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage());
}
}
- @ControllerAdvice — класс, который глобально обрабатывает исключения для всех контроллеров.
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<String> handleAll(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Ошибка сервера");
}
}
- Использование ResponseStatusException для выбрасывания исключений с HTTP статусом.
Таким образом, обработка ошибок становится централизованной и удобной для поддержки.