我有一个循环运行记录数量,在特定条件下,我需要将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";
}
在这里抛出异常我错过了什么?
答案 0 :(得分:1)
删除返回值:
public Ampu(){}
message = "ampu value is zero"
Constants.addErrorMessage(Constants.ZERO_AMPU, message, infoRow)
}
由于异常是一个对象,它应该有一个有效的构造函数。
message
应该被定义为一个字符串(但它已经是一个字段,所以不要声明它)。
答案 1 :(得分: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)
这解决了我的问题。