EAS的两大异常:BOSException和EASBizException

BOSException和EASBizException

EASBizException是继承了NumericException,而NumericException继承了BaseException(相当于eas的基本Exception),BaseException再继承自Exception,一般警示提示作用多一些。

BOSException是直接继承自BaseException,一般会产生一个断线重连框。

两个Exception用法

1。第一个当天是各种业务方法的try catch,看情况,可以try,也可以直接throw出来

try {
            INewOrgUnitFacade inouf = NewOrgUnitFacadeFactory.getRemoteInstance();
            DefaultTaxRate=EASParam.getDefaultTaxRate(inouf.getContext());
        } catch (EASBizException e) {
            e.printStackTrace();
        } catch (BOSException e) {
            e.printStackTrace();
        }
private void checkUIIsSFWarehouse(Context ctx, SaleOrderInfo orderInfo) throws EASBizException, BOSException{
    //省略逻辑
}

2。第二点是业务的判断,并不是主动报错的,是根据业务逻辑来,一般也是报EASBizException

WarehouseInfo whInfo=WarehouseFactory.getLocalInstance(ctx).getWarehouseInfo(pk, sic);
if(!whInfo.getBoolean("isSFWarehouse")){
    //非顺丰仓,要提示
    throw new EASBizException(new NumericExceptionSubItem("0002","已勾选“是否顺丰仓”选项,但对应的仓库并不是“顺丰仓”仓库,请重新选择"));
}

下面就是BOSException和EASBizException的反编译代码了。

EASBizException

EASBizException更多偏向于业务性的错误,例如检查什么价格不对,检测什么数量不对等等报的错。

 package com.kingdee.eas.common;

 import com.kingdee.util.NumericException;
 import com.kingdee.util.NumericExceptionSubItem;

 public class EASBizException
   extends NumericException
 {
   private static final String MAINCODE = "10";
   public static final NumericExceptionSubItem CHECKTEXTLENGTH1 = new NumericExceptionSubItem("10", "CHECKTEXTLENGTH1");
   public static final NumericExceptionSubItem CHECKTEXTLENGTH2 = new NumericExceptionSubItem("11", "CHECKTEXTLENGTH2");
   public static final NumericExceptionSubItem CHECKINT = new NumericExceptionSubItem("20", "CHECKINT");
   public static final NumericExceptionSubItem CHECKBLANK = new NumericExceptionSubItem("22", "CHECKBLANK");
   public static final NumericExceptionSubItem CHECKDUPLICATED = new NumericExceptionSubItem("23", "CHECKDUPLICATED");
   public static final NumericExceptionSubItem CHECKDUPNUMBER = new NumericExceptionSubItem("31", "CHECKDupNumber");
   public static final NumericExceptionSubItem CHECKPARENTDELETED = new NumericExceptionSubItem("41", "CHECKPARENTDELETED");
   public static final NumericExceptionSubItem CHECKPARENTUNEFFECTED = new NumericExceptionSubItem("42", "CHECKPARENTUNEFFECTED");
   public static final NumericExceptionSubItem CHECKPARENTBEUSED = new NumericExceptionSubItem("43", "CHECKPARENTBEUSED");
   public static final NumericExceptionSubItem CHECKNAMEBLANK = new NumericExceptionSubItem("221", "CHECKNAMEBLANK");
   public static final NumericExceptionSubItem CHECKNUMBLANK = new NumericExceptionSubItem("222", "CHECKNUMBLANK");
   public static final NumericExceptionSubItem CHECKNAMEDUP = new NumericExceptionSubItem("231", "CHECKNAMEDUP");
   public static final NumericExceptionSubItem CHECKNUMDUP = new NumericExceptionSubItem("232", "CHECKNUMDUP");
   public static final NumericExceptionSubItem CHECKEXIST = new NumericExceptionSubItem("321", "CHECKEXIST");
   public static final NumericExceptionSubItem DBDEADLOCK = new NumericExceptionSubItem("400", "DBDEADLOCK");
   public static final NumericExceptionSubItem RPCCOMMERR = new NumericExceptionSubItem("401", "RPCCOMMERR");
   public static final NumericExceptionSubItem OLDNEWACCOUNTSTART = new NumericExceptionSubItem("402", "OLDNEWACCOUNTSTART");
   public static final NumericExceptionSubItem IDCARD_NOTNULL = new NumericExceptionSubItem("500", "IDCARD_NOTNULL");
   public static final NumericExceptionSubItem IDCARD_NUMERROR = new NumericExceptionSubItem("501", "IDCARD_NUMERROR");
   public static final NumericExceptionSubItem IDCARD_INVALID = new NumericExceptionSubItem("502", "IDCARD_INVALID");
   public static final NumericExceptionSubItem IDCARD_NOTNULL_PARAM = new NumericExceptionSubItem("503", "IDCARD_NOTNULL_PARAM");
   public static final NumericExceptionSubItem IDCARD_NUMERROR_PARAM = new NumericExceptionSubItem("504", "IDCARD_NUMERROR_PARAM");
   public static final NumericExceptionSubItem IDCARD_INVALID_PARAM = new NumericExceptionSubItem("505", "IDCARD_INVALID_PARAM");
   public static final NumericExceptionSubItem CLASS_INIT_ERROR = new NumericExceptionSubItem("600", "CLASS_INIT_ERROR");

   public EASBizException(NumericExceptionSubItem info, Throwable cause, Object[] params)
   {
     super(info, cause, params);
   }

   public EASBizException(NumericExceptionSubItem info, Object[] params)
   {
     this(info, null, params);
   }

   public EASBizException(NumericExceptionSubItem info, Throwable cause)
   {
     this(info, cause, null);
   }

   public EASBizException(NumericExceptionSubItem info)
   {
     this(info, null, null);
   }

   public String getMainCode()
   {
     return "10";
   }
 }

/* Location:           D:\workspace\eas\eas\lib\client\bos\eas_common-client.jar
 * Qualified Name:      com.kingdee.eas.common.EASBizException
 * Java Class Version:  5 (49.0)
 * JD-Core Version:     0.7.1
 * Kingdee EAS Version:7.5
 */

BOSException

BOSException偏向于系统级别的错误,例如网络连接不上,服务器断开等等的。

package com.kingdee.bos;

import com.kingdee.util.BaseException;

public class BOSException
  extends BaseException
{
  public BOSException() {}

  public BOSException(String message)
  {
    super(message);
  }

  public BOSException(String message, Throwable cause)
  {
    super(message, cause);
  }

  public BOSException(Throwable cause)
  {
    super(cause);
  }
}

/* Location:           D:\workspace\eas\eas\lib\common\bos\common.jar
 * Qualified Name:     com.kingdee.bos.BOSException
 * Java Class Version: 5 (49.0)
 * JD-Core Version:    0.7.1
 * Kingdee EAS Version:7.5
 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值