Должен ли клиент ejb3 явно перехватывать EJBException? - PullRequest
0 голосов
/ 11 марта 2011

Я пишу приложение EJB3 и задаюсь вопросом о политике обработки исключений.У меня будут как некоторые проверенные исключения приложений, так и некоторые исключения приложений во время выполнения.Я знаю, что могу поймать их в моем клиенте, но что, если будет сгенерировано очередное исключение во время выполнения?Это будет завернуто в EJBException, верно?Если так, я должен поймать это исключение?Или, скажем, я бы хотел, чтобы только подмножество исключений времени выполнения обрабатывалось другим способом (например, чтобы была возможность показать более подробное сообщение, чем «Ошибка вызова бизнес-службы»).Какова ваша структура исключений и политика обработки для обычного EJB-приложения и, например, для клиента Struts 2.

1 Ответ

0 голосов
/ 11 марта 2011

Если вы не поймете такие исключения, что произойдет? Некоторое уродливое исключение сервлета отправляется обратно в браузер или что-то подобное, я полагаю.

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

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

...