0

VO でいくつかのプロパティを設定する方法があります。メソッドは次のようになります。

public void methodToPopulateVO(MyVO vo)
{
    BackendClass bClass = new BackendClass();
    vo.setA(bClass.getA()); //Line 1
    vo.setB(bClass.getB()); //Line 2
    vo.setC(bClass.getC()); //Line 3
}

これらのメソッドgetA()getB()、のいずれかがgetC()例外をスローする可能性があります。私の要件はgetA()、行 2 と行 3 で例外をスローしている場合でも、コードを実行する必要があることです。これは各行に適用されます (たとえば、行 2 で例外が発生した場合でも、行 3 は引き続き実行されます)。の実装を変更することはできませんBackendClass。パフォーマンスはアプリケーションの測定要素であるため、パフォーマンスへの影響が少ない例外処理手法を実装する必要がありますか?

実際のシステムには、3 つだけでなく、約 20 のフィールドがあることに注意してください。

4

2 に答える 2

5

1 つの方法を次に示します。

public void methodToPopulateVO(MyVO vo){
    BackendClass bClass = new BackendClass();
    try {
        vo.setA(bClass.getA()); //Line 1
    } catch (Exception e) {
        log(e);
    }
    // same for the next 2 method calls.
}

例外がgetA()スローされると、イベントをログに記録して実行を続けます。

于 2012-06-21T23:20:36.643 に答える
0

はい、例外処理を使用する必要があります。例外はメソッドをスローする可能性があります。

setA(bClass.getA()); 
setB(bClass.getB()); 
setC(bClass.getC());

try と catch 内に記述し、適切な例外クラスを使用してそれを処理するか、catch で Exception クラスを使用する必要があります ....

于 2012-06-22T14:30:36.360 に答える