EJB仕様からの引用:
Beanメソッドでシステム例外またはエラーが発生した場合は、Beanメソッドからコンテナにエラーを伝播するだけです(つまり、Beanメソッドは例外をキャッチする必要はありません)。
しかし、私はそれを理解していません。すべての種類の例外をキャッチして(つまり、クラスをキャッチしようException
として)、アプリケーションの例外として再スローするべきではないということですか?
より明確にするための例:
public void beanMethod throws MyApplicationException {
try {
// do something
} catch (Exception e) {
throw new MyApplicationException(e); // Should I do it like this?
}
}
または、これはEJB開発者ではなく、EJBリファレンス実装開発者(コンテナ開発者)のみです。後者の場合、結果として、コンテナはシステム例外をビジネスメソッドに伝播してはならず、catch(Exception e)
ブロックがシステム例外をキャッチすることはありません。 ?