Back to questions
Junior — Middle
105
Какие средства ты используешь для управления исключениями в контроллерах Spring MVC?
Answer from AI
sobes.tech AI
В Spring MVC для управления исключениями в контроллерах обычно используют:
- Аннотацию
@ExceptionHandlerвнутри контроллера для обработки конкретных исключений. - Класс с аннотацией
@ControllerAdviceдля глобальной обработки исключений во всех контроллерах.
Пример использования @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> handleAllExceptions(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Произошла ошибка: " + ex.getMessage());
}
}