私のプロジェクトには2つのレイヤーがあります。A & B.レイヤーAの関数は例外のセットAe1、Ae2、Ae3を投げます。レイヤB関数は、例外Be1、Be2、Be3、Be4をスローします。レイヤBの関数は、レイヤAの異なる関数から呼び出されます。Javaのコードレイヤーでの例外処理
レイヤAの関数は、複数の例外をスローする可能性があります。
また、レイヤB関数の例外Be1とBe2を取得すると、例外をキャッチしてレイヤA内のそれらの例外をキャッチし、Ae3としてスローするようなマッピングがあります。同様に、例外Be3はAe2としてスローされ、Be4はAe1としてスローされます。
public void function1InLayerB throws Be1, Be2, Be4{
......
}
今、私がやっている何がある:
のでpublic void function1InLayerA throws Ae3, Ae1{
try{
function1InLayerB();
} catch(Be1){
throw new Ae3;
} catch(Be2){
throw new Ae3;
} catch(Be4){
throw new Ae1;
}
}
、私はしたい機能や他の異なるアプローチを使用することにより、トライcatchブロックのように多くを回避し、中に機能を持っていますレイヤーAシンプルで
public void fnuction1InLayerA throws Ae1, A2{
....
new_function(function1InLayerB());
}
このような共通の機能を記述することはできますか?
注:あなたがこれを行うことができますJavaの7のでJavaバージョン6
プロジェクトのJavaバージョンが7未満です – Vishnu