读书人

包装错误gt;gt;gt;测试

发布时间: 2012-09-21 15:47:26 作者: rapoo

包装异常>>>测试
一个包装异常的小例子.

    public Activity updateActivity(Map Mapactivity) {        Long id = Long.valueOf(Mapactivity.get("id").toString());        Activity act = (Activity)this.getHibernateTemplate().get(Activity.class,id);        try {            BeanUtils.populate(act,Mapactivity);            this.getHibernateTemplate().update(act);        }catch(Exception e){               throw new DolphinOperationException(e,CodeCategories.UPDATE_FAILURE);  //CodeCategories.UPDATE_FAILURE   常量200或者400        }        return act;    }

1.因为BeanUtils本身就会需要抛出异常,但所有的异常都是Exception
2.这个例子,需求是更新一个拼单,这里使用到了助手类(临时发现,如果是Date类型为空则会出现异常,使用需注意),在更新完拼单后将这个拼单返回,并告知更新成功或者失败.

下面是这个异常包装类
public class DolphinOperationException extends RuntimeException {    private Integer errorCode;   //定义一个错误编码    public DolphinOperationException(Integer errorCode) {        this.errorCode = errorCode;    }    public DolphinOperationException(Throwable cause, Integer errorCode) {        super(cause);        this.errorCode = errorCode;    }    public DolphinOperationException(Integer errorCode,String message) {        super(message);     }    public DolphinOperationException(String message, Throwable cause, Integer errorCode) {        super(message, cause);        this.errorCode = errorCode;    }    public Integer getErrorCode() {        return errorCode;    }}

继承RuntimeException,重写了构造方法

测试类
    @Test    @Rollback(false)    public void updateActivity(){        Address ads = new Address();        ads.setAddress("22222");        User user = new User();        user.setId(15l);        Activity act = new Activity();        act.setId(2l);        act.setAddress(ads);        act.setStartTime(new Date());        act.setTitle("光棍节写测试1");        Activity activity=am.updateActivity(act);        assertNotNull(activity);          }

读书人网 >编程

热点推荐