Встречается на собеседованиях • сегодня

Как обработать ошибки в Spring Web MVC

В Spring Web MVC ошибки можно обрабатывать несколькими способами: 1. **@ExceptionHandler** - обработка исключений в пределах контроллера: ```java @RestController public class MyController { @ExceptionHandler(ResourceNotFoundException.class) public ResponseEntity handleNotFound(ResourceNotFoundException ex) { return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage()); } } ``` 2. **@ControllerAdvice** - глобальная обработка исключений: ```java @ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(Exception.class) public ResponseEntity handleAll(Exception ex) { return ResponseEntity.internalServerError() .body(new ErrorResponse("Server error", 500)); } } ``` 3. **ResponseStatusException** - для быстрого возврата статуса: ```java @GetMapping("/resource/{id}") public Resource getResource(@PathVariable Long id) { return repository.findById(id) .orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND)); } ``` 4. **ErrorController** - кастомная обработка базовых ошибок (404, 500 и т.д.) Лучше комбинировать эти подходы: использовать @ControllerAdvice для глобальных исключений и @ExceptionHandler для специфичных случаев.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы