Interstage Application Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第3部 EJB編> 第12章 Entity Beanの実装> 12.6 BMPのEnterprise Beanクラスの作成

12.6.12 例外処理

 BMPのEnterprise Beanクラスで記述する例外の種類には以下の2つがあります。

 Enterprise Beanクラスに実装する各メソッドでは、以下の指針で例外処理を記述してください。

Application exceptions

 Application exceptionsは、アプリケーションレベルの例外を通知する場合に使用します。ビジネスメソッドの入力引数が不正な値である場合や、createメソッド実行時に一意性制約違反が発生した場合など、アプリケーションのロジックで例外とする場合です。

Exception

記述するメソッド

指針

javax.ejb.CreateException

  • ejbCreate
  • ejbPostCreate

createメソッドの引数が不正であるなどユーザロジックで例外を発生させる場合

javax.ejb.DuplicateKeyException

  • ejbCreate
  • ejbPostCreate

INSERTの実行で一意性制約違反が発生した場合

javax.ejb.FinderException

  • ejbFindByPrimaryKey
  • ejbFind<METHOD>

単一の検索結果を返却するメソッドで検索結果が複数件の場合や、ユーザロジックで例外とする場合

javax.ejb.ObjectNotFoundException

  • ejbFindByPrimaryKey
  • ejbFind<METHOD>

検索結果が0件の場合

(単一の検索結果を返却するメソッドの場合のみ、このexceptionを使用できます。)

javax.ejb.RemoveException

  • ejbRemove

ユーザロジックで例外とする場合

ユーザ例外

全メソッド

ユーザロジックで例外とする場合

System exceptions

 System exceptionsは、アプリケーションで処理できないシステムレベルの例外を通知する場合に使用します。Application exceptions以外のデータベースのエラーや、他のEJBアプリケーションの呼出しから予期しないRemoteExceptionが返却された場合です。

 Enterprise Beanクラスからjavax.ejb.EJBExceptionを返却すると、コンテナはjava.rmi.RemoteExceptionに変換して呼出し元に返却します。

Exception

記述するメソッド

指針

javax.ejb.NoSuchEntityException

  • ejbLoad()
  • ejbStore()
  • ビジネスメソッド

インスタンスに対応するデータがデータベースから削除されている場合

javax.ejb.EJBException

全メソッド

NoSuchEntityException以外の場合

例えば、データベース操作文でエラーになった場合など


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005