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