|
Java Platform, Enterprise Edition (Java EE) 8 Учебник по Java EE |
| Назад | Вперёд | Содержание |
Исключения, выбрасываемые Enterprise-бинами, делятся на две категории: системные и прикладные.
Системное исключение указывает на проблему с сервисами, которые поддерживают приложение. Например, невозможно получить соединение с внешним ресурсом или не найден инъецированный ресурс. Если возникает проблема системного уровня, ваш Enterprise-бин должен выбросить javax.ejb.EJBException. Поскольку EJBException является дочерним классом RuntimeException, не обязательно указывать его в предложении throws объявления метода. Если выдаётся системное исключение, контейнер EJB может уничтожить объект компонента. Следовательно, системная исключительная ситуация не может быть обработана клиентской программой компонента, а требует вмешательства системного администратора.
Исключение приложения сигнализирует об ошибке в бизнес-логике Enterprise-бина. Исключения приложений, как правило, являются исключениями, которые вы сами кодировали, например, BookException, создаваемое бизнес-методами примера CartBean. Когда Enterprise-бин генерирует исключение приложения, контейнер не переносит его в другое исключение. Клиент должен иметь возможность обрабатывать любое исключение приложения, которое он получает.
Если в транзакции возникает системное исключение, контейнер EJB откатывает транзакцию. Однако, если исключение приложения выдаётся в транзакции, контейнер не откатывает транзакцию.
| Назад | Вперёд | Содержание |
Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены.
Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)