Зміст
Перший з розглянутих способів обробки помилок - за допомогою анотації @ExceptionHandler. Ця анотація обробляє виключення, яке сталося в контролері, як звичайний запит. Наприклад:
@ExceptionHandler(IOException.class)
public ModelAndView handleIOException(IOException exception) {
ModelAndView modelAndView = new ModelAndView("/exception/catchedException");
modelAndView.addObject("message", exception.getMessage());
return modelAndView;
}
Вищенаведеним кодом обробляються всі виключення IOException як звичайний запит. В результаті повертається відображення /exception/catchedException.
Увага! Подібним чином обробляються ТІЛЬКИ (!) виключення, що відбулися в зазначеному контролері. Якщо виняток IOException відбудеться в іншому контролері, то воно опрацьовано цим методом НЕ БУДЕ.
В наступній частині розглядається обробка помилок за допомогою SimpleMappingExceptionResolver. А в останній частині серії статей про обробку помилок буде наведено код проекту, в якому також використовується анотація @ExceptionHandler.
< | Обробка HTTP-помилок 404, 500, 503 в Spring MVC | SimpleMappingExceptionResolver в Spring і обробка виключень | > |
1 квітня 2013 р. 10:35
|
можно сделать базовый напр абстрактный контроллер с @ExceptionHandler в нем, а все другие контроллеры будут его наследовать тогда и ексепшены будут перехватываться в одном месте
|