Встречается на собеседованиях • сегодня
Как можно организовать обработку ошибок в Spring MVC
В Spring MVC обработка ошибок реализуется через механизм `@ExceptionHandler` и `@ControllerAdvice`.
1. **Локальная обработка** (в рамках контроллера):
```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.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Internal error");
}
}
```
3. **Кастомные статусы** через `ResponseStatus`:
```java
@ResponseStatus(value = HttpStatus.BAD_REQUEST, reason = "Invalid input")
public class InvalidInputException extends RuntimeException {}
```
Также можно использовать `ErrorController` для переопределения `/error`.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы