-1

いくつかのレコードに対して実行されているループがあり、特定の条件で、以下のように出力応答に errorCode と errorMessage を追加する必要があります

addErrorMessage(Constants.ZERO_AMPU, msg, infoRow) メソッドでエラー コードとメッセージを設定します。

すべてのレコードをループしないように、同じ条件で例外をスローするようにユーザー定義の例外を定義しました

if (ampu.intValue() == 0){

            def message = "ampu value is zero"

            Constants.addErrorMessage(Constants.ZERO_AMPU, message, tariffOffer)
            Ampu a = new Ampu();
            throw a;
}

class Ampu extends Exception{
        public Ampu(){}
            def message = "ampu value is zero"
            Constants.addErrorMessage(Constants.ZERO_AMPU, message, infoRow)
            return "ampu value is zero";

    } 

ここで例外をスローする際に何が欠けていますか?

4

2 に答える 2

0

以下のように、新しいユーザー定義の例外を導入しました

class Ampu extends Exception{
        public Ampu(String message){
             super(message);
        }
}

を使用して呼び出す

throw new Ampu("ampu is zero");

以下のように例外をキャッチしました

}catch(Ampu a){
        Constants.debug ("Margin Calculator Error: " + a.getMessage())
        if (Constants.DEBUG) ex.printStackTrace()

        if (infoRow)
        {
        println 'in catch of AMPU...coming????'
        def msg = "ampu is zero"
        Constants.addErrorMessage(Constants.ZERO_AMPU, msg, infoRow)

これで私の問題は解決しました。

于 2013-10-23T12:20:20.937 に答える