2013-10-23 43 views
-1

例外,我有記錄的數量和在特定條件下運行的循環,我需要一個和的errorCode的errorMessage添加到如下如何扔在Java

addErrorMessage(Constants.ZERO_AMPU,味精輸出響應,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"; 

    } 

什麼我這裏拋出異常失蹤扔在相同條件下的例外,使其不循環?

+0

你確定你有一個循環?你的意思是寫'while'而不是'if'? – martijno

+0

「def message」你在寫什麼語言? – hexafraction

+1

我不認爲這個代碼在任何語言中都是有效的。 – Kayaman

回答

1

刪除返回值:

public Ampu(){} 
     message = "ampu value is zero" 
     Constants.addErrorMessage(Constants.ZERO_AMPU, message, infoRow) 
} 

由於異常是STIL的對象,應該有一個有效的構造。

message應該定義爲一個字符串(但它已經是一個字段,所以不要聲明它)。

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) 

這解決了我的問題。