Атрибут javax.servlet.error.exception
в запросе с типом диспетчера равен ERROR
всегда можно привести к типу java.lang.Exception
?
Я просматриваю javadoc, но в нем не упоминается, что тип должен быть java.lang.Exception
ИЛИ java.lang.Throwable
.
Я задаю этот вопрос, потому что я обрабатываю страницу с ошибкой. Если атрибут javax.servlet.error.exception
всегда содержит тип Exception
, я могу написать код, как показано ниже, не беспокоясь о ClassCastException
во всех случаях.
Exception exception = (Exception) request.getAttribute("javax.servlet.error.exception");
Конечно, я могу сделать так:
Throwable error = (Throwable)request.getAttribute("javax.servlet.error.exception");
но моя обработка относится к типу Exception
(не Throwable
).
Спасибо!
String
. - person Würgspaß   schedule 07.10.2015RequestDispatcher.ERROR_EXCEPTION
. Но вас, по-видимому, больше всего беспокоит поведение методаServletRequest.getAttribute(String)
. И здесь в игру вступаютweb.xml
и/илиServletRequest.setAttribute(String, Object)
. - person Würgspaß   schedule 07.10.2015setAttribute
. Или даже кто-то собирается изменить настройку вweb.xml
в будущем. Итак, я бы подготовил свой код на всякий случай... В любом случае, на самом деле проблема заключается в getAttribute/setAttribute. Это была моя точка зрения здесь. - person Würgspaß   schedule 07.10.2015