Шаблон для обработки исключений в форме подачи пружинных MVC - PullRequest
1 голос
/ 14 октября 2011

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

public ModelAndView onSubmit(Command command) {

    try {
         service.doSomeBusinessLogic(command);
    }
    catch (ServiceException) {
         //return one type of model and view here
    }

    //return another type of model and view here
}

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

1 Ответ

5 голосов
/ 14 октября 2011

Лучшая практика для невосстановимых исключений - показывать страницу с ошибкой. Настройте это в web.xml. Обработчик исключений по умолчанию Spring позаботится о том, чтобы установить статус ответа на 500, поэтому будет отображена страница с ошибкой 500.

Если исключение подлежит восстановлению, то вышеуказанный подход вполне подходит - необходимо выполнить определенное действие, и оно входит в предложение catch.

Но вы должны решить, какие исключения подлежат восстановлению, а какие просто должны привести к появлению страницы с ошибкой.

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