Spring MVC — обработка исключений

Приведу несколько примеров перехвата исключений с помощью Spring MVC.

Кусок кода из прошлой заметки про загрузку файла, но с дополнительным указанием возможных исключений:

В коде специально выбрасывается IOException или же созданное разработчиком какое-либо своё исключение MyFileUploadException.
Посмотрим как их можно обрабатывать:

Как видите можно указывать несколько исключений в одном методе. Во втором случае, при перехвате собственного исключения, происходит перенаправление на страницу error.jsp

Пример кода собственного исключения:

Еще одна интересная возможность Spring — возможность создать глобальный перехватчик исключений. Он будет перехватывать исключения, которые не указаны в контроллере. Необходимо указать аннотацию @ControllerAdvice  (см. AOP (советы) )

В случае, если в контроллере исключение не было обработано, то следующим в очереди будет глобальный перехватчик исключений.

Третий вариант это реализация интерфейса HandlerExceptionResolver.
Реализация похожа на предыдущий пример с использованием советов, но необходимо будет переопределить нужные методы.

Share Button
2
11472 Total Views 4 Views Today

Добавить комментарий