GuiceとSpringはメソッドインターセプトの内部でAOPAllianceを使用していることがわかります。私は、AOP Allianceに特定の例外をインターセプトして処理させる方法を模索しているので、同じコードを書き続ける必要はありません。すべてのcatch
ブロック内でもう一度繰り返します。
しかし、プレイを確認した後、AOP AllianceはThrowable
、ハンドラー/インターセプターがいくつかのこと(例外のログ記録など)を実行して伝播するかどうかを判断できるように、スローされたをインターセプトする方法を提供していないようです。例外をさらに進めるか、例外をスローした行の次の行に戻るだけです。
HerpDerp hd = null;
if(hd == null)
throw new RuntimeException("Herpyl derp!");
Manny.pacquiao();
RuntimeException
をインターセプトし、ビジネスロジックを使用して、それを伝播し続けるか、呼び出しで回復するかを決定するAOP例外処理メカニズムを探していManny.pacquioa()
ます。
- Javaでこれを行うことが不可能な場合は、お知らせください
- Javaでこれを実行できるかどうかに関係なく、AOP Allianceでスローされた例外をインターセプトする方法はありますか、それとも別の場所に移動する必要がありますか。そして、私がどこかに行かなければならない場合、どこに?AspectJ?
ありがとう!