@ExceptionHandler в Spring і обробка помилок

травня
08
2012

Зміст

Перший з розглянутих способів обробки помилок - за допомогою анотації @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)

fisk
1 квітня 2013 р. 10:35
можно сделать базовый напр абстрактный контроллер с @ExceptionHandler в нем, а все другие контроллеры будут его наследовать тогда и ексепшены будут перехватываться в одном месте
Ви повинні увійти під своїм аккаунтом щоб залишати коментарі