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
*/