@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 в нем, а все другие контроллеры будут его наследовать тогда и ексепшены будут перехватываться в одном месте
Вы должны войти под своим аккаунтом чтобы оставлять комментарии