如何在java中引发异常
我有一个循环运行记录数,在特定条件下,我需要向输出响应添加一个errorCode和errorMessage,如下所示 addErrorMessage(Constants.ZERO_AMPU、msg、infoRow),方法在其中设置错误代码和消息 我已经定义了用户定义的异常以在相同条件下抛出异常,这样它就不会在所有记录中循环如何在java中引发异常,java,Java,我有一个循环运行记录数,在特定条件下,我需要向输出响应添加一个errorCode和errorMessage,如下所示 addErrorMessage(Constants.ZERO_AMPU、msg、infoRow),方法在其中设置错误代码和消息 我已经定义了用户定义的异常以在相同条件下抛出异常,这样它就不会在所有记录中循环 if (ampu.intValue() == 0){ def message = "ampu value is zero"
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";
}
我在这里抛出异常时缺少什么?删除返回值:
public Ampu(){}
message = "ampu value is zero"
Constants.addErrorMessage(Constants.ZERO_AMPU, message, infoRow)
}
因为异常仍然是一个对象,所以它应该有一个有效的构造函数
消息
应该定义为字符串(但它已经是一个字段,所以不要声明它)。我引入了一个新的用户定义异常,如下所示
class Ampu extends Exception{
public Ampu(String message){
super(message);
}
}
}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)
并使用
throw new Ampu("ampu is zero");
并捕获以下异常
class Ampu extends Exception{
public Ampu(String message){
super(message);
}
}
}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)
这解决了我的问题。您确定有循环吗?你的意思是在时编写
,而不是在
时编写?“def message”你用哪种语言编写?我认为这段代码在任何语言中都无效。这是groovy吗?对不起,这是一个groovy脚本,我使用用户定义的异常实现了它