Встречается на собеседованиях • сегодня
Какие знаешь методы для работы с исключениями в Spring
В Spring есть несколько способов обработки исключений:
1. **@ExceptionHandler** - обрабатывает исключения в пределах одного контроллера:
```java
@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("Server error");
}
}
```
3. **ResponseStatusException** - для быстрого возврата HTTP статуса:
```java
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "Invalid parameter");
```
4. **@ResponseStatus** - аннотация для кастомных исключений:
```java
@ResponseStatus(code = HttpStatus.NOT_FOUND, reason = "Resource not found")
public class ResourceNotFoundException extends RuntimeException {}
```
Spring также поддерживает стандартные try-catch блоки, но предпочтительнее использовать вышеперечисленные механизмы для единообразия обработки ошибок в приложении.

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