Обработка исключений, созданных в Custom View Resolver - PullRequest
2 голосов
/ 09 января 2012

У меня есть собственный распознаватель (и) и обработчик исключений.Когда из кода контроллера выбрасывается исключение, вызывается преобразователь исключений, и исключение сопоставляется с представлением с сообщением об ошибке.

Однако, когда я выбрасываю исключение из одного из преобразователей представлений, оно распространяется вверх.на сервер приложений, и не разрешается с помощью зарегистрированного обработчика исключений.

Я полагаю, это происходит потому, что распознаватель исключений - это преобразователи представлений «ниже», поскольку возвращаемые им представления должны быть разрешены ... и поэтому исключения изпреобразователи представлений выбрасываются наружу ... но все же я не знаю, как правильно решить эту ситуацию.

Пожалуйста, предложите.

1 Ответ

1 голос
/ 09 января 2012

Обычно, когда распознаватель исключений обрабатывает исключение, выданное контроллером, он возвращает имя представления, чтобы можно было отобразить страницу ошибки.

Так что, если преобразователь представления генерировал исключение, что могло быВы осмысленно делаете с этим?В конце концов, ошибка должна быть отображена каким-то образом, но кто будет разрешать это представление, если не сам распознаватель представлений?

Чтобы ответить на ваш вопрос, я не знаю ни одного механизма для перехвата исключений, генерируемыхпреобразователи представления, кроме стандартного механизма контейнера сервлета.Если у вас есть условия ошибки в вашем преобразователе представлений, я предлагаю вам (а) исправить их (если они являются ошибками), или (б) перехватить эти исключения в преобразователе представлений, и сделать другое представлениеотображение ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...