Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

Назад Вперёд Содержание

Обработка исключений

Исключения, выбрасываемые Enterprise-бинами, делятся на две категории: системные и прикладные.

Системное исключение указывает на проблему с сервисами, которые поддерживают приложение. Например, невозможно получить соединение с внешним ресурсом или не найден инъецированный ресурс. Если возникает проблема системного уровня, ваш Enterprise-бин должен выбросить javax.ejb.EJBException. Поскольку EJBException является дочерним классом RuntimeException, не обязательно указывать его в предложении throws объявления метода. Если выдаётся системное исключение, контейнер EJB может уничтожить объект компонента. Следовательно, системная исключительная ситуация не может быть обработана клиентской программой компонента, а требует вмешательства системного администратора.

Исключение приложения сигнализирует об ошибке в бизнес-логике Enterprise-бина. Исключения приложений, как правило, являются исключениями, которые вы сами кодировали, например, BookException, создаваемое бизнес-методами примера CartBean. Когда Enterprise-бин генерирует исключение приложения, контейнер не переносит его в другое исключение. Клиент должен иметь возможность обрабатывать любое исключение приложения, которое он получает.

Если в транзакции возникает системное исключение, контейнер EJB откатывает транзакцию. Однако, если исключение приложения выдаётся в транзакции, контейнер не откатывает транзакцию.


Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)