Какие способы обработки исключений в Spring Boot приложениях вы использовали?

В Spring Web MVC обработка ошибок реализуется с помощью аннотаций и специальных классов, которые позволяют централизованно перехватывать и обрабатывать исключения.

Короткий ответ

Что ответить на собеседовании

В Spring Web MVC обработка ошибок реализуется с помощью аннотаций и специальных классов, которые позволяют централизованно перехватывать и обрабатывать исключения.

Подробный разбор

Ответ с пояснениями

В Spring Web MVC обработка ошибок реализуется с помощью аннотаций и специальных классов, которые позволяют централизованно перехватывать и обрабатывать исключения.

Основные способы:

  1. @ExceptionHandler — аннотация для методов в контроллере, которые обрабатывают конкретные исключения.
@Controller
public class MyController {
    @ExceptionHandler(ResourceNotFoundException.class)
    public ResponseEntity<String> handleNotFound(ResourceNotFoundException ex) {
        return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage());
    }
}
  1. @ControllerAdvice — класс, который глобально обрабатывает исключения для всех контроллеров.
@ControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler(Exception.class)
    public ResponseEntity<String> handleAll(Exception ex) {
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Ошибка сервера");
    }
}
  1. Использование ResponseStatusException для выбрасывания исключений с HTTP статусом.

Таким образом, обработка ошибок становится централизованной и удобной для поддержки.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее