在具有枚举对象的异常中传递错误代码 我是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是正确的方法吗

请提供建议,并让我知道我忽略了什么