在具有枚举对象的异常中传递错误代码 我是java新手,C++背景。p>
我正在尝试以下方法:在具有枚举对象的异常中传递错误代码 我是java新手,C++背景。p>,java,enums,Java,Enums,我正在尝试以下方法: public myErrors { enum errorTypeOne { PARAM(0, "something"), PARAM1(1, "SOMETHING"); errorTypeOne(int errval, String str) { this.value = errVal; this.errorStr = str; } public in
public myErrors {
enum errorTypeOne {
PARAM(0, "something"),
PARAM1(1, "SOMETHING");
errorTypeOne(int errval, String str)
{
this.value = errVal;
this.errorStr = str;
}
public int getValue()
{
return this.value;
}
public String getDesc()
{
return this.errorStr;
}
public errorTypeOne getErrorTypeOneFor(int x)
{
for(errorTypeOne eCode : values())
{
if( eCode.value == x )
return eCode;
}
return null;
}
}
private int value;
private String errorStr;
}
}
到目前为止还不错。现在在我的代码中,我抛出了一个异常,它封装了“errorTypeOne”的一个对象
现在,我的java类的用户可以使用try-catch块来访问它
try {
// something that throws myException.
}
catch ( MyException ex )
{
if ( ex.errType == myErrors.errorTypeOne.PARAM )
{
// do something..
// print -> ex.errType.getDesc()
}
if ( ex.errType == myErrors.errorTypeOne.PARAM1 )
{
// do something...
// print -> ex.errType.getDesc()
}
}
问题:
1) 我的问题是,这个“如果”条件是否有效
2) 引入getErrorTypeOneFor(intx)API是正确的方法吗
请提供建议,并让我知道我忽略了什么