#spring #jsp #exception-handling
Вопрос:
Из jsp выбрасывается исключение NullPointerException, например, с помощью <% null.toString(); %>
Это исключение не обрабатывается параметром HandlerExceptionResolver, а передается в веб-контейнер(tomcat) и преобразуется в a code 500 error
.
Как я могу настроить spring, чтобы получить эту ошибку в моем HandlerExceptionResolver ?
Подробные сведения:
- Spring можно настроить для обработки исключений, создаваемых внутри контроллеров, но не исключений, создаваемых представлением.
- Конечно, я могу устранить исключение NullPointerException, но я хочу разработать решение, которое изящно разрешит любую возможную проблему в веб-приложении, чтобы отобразить удобное для пользователя сообщение.
Ответ №1:
Ответ №2:
Я не работал с этой конкретной частью фреймворка spring, но в документах говорится
«Интерфейс, реализуемый объектами, который может разрешать исключения, возникающие во время сопоставления или выполнения обработчика, в типичном случае для представлений ошибок. Разработчики обычно регистрируются как компоненты в контексте приложения.
Представления ошибок аналогичны JSP страницы ошибок, но могут использоваться с любыми исключениями, включая любые проверенные исключения, с потенциально детализированными отображениями для конкретных обработчиков».
поэтому я бы предположил, что, учитывая, что NullPointer расширяет исключение RuntimeException, фреймворк не предназначен для его улавливания. Есть ли причина, по которой исключение(исключения) не может быть обработано непосредственно в контроллере?
Комментарии:
1. @Steve_B Проблема здесь в том, что ошибка возникает во время обработки представления — контроллер уже был выведен из строя.