在企业级web分层式应用中异常架构设计
做java开发已经有几年了,所面对的项目有大也有小,这些项目就整体上的设计方式无外乎就一种,那就是分层设计,一般分为dao,service,action这几层,有的项目结构为:dao,daoimpl,service,serviceimpl,action,看这些项目中都没有对异常进行很好的处理,一些项目几乎没有对异常信息进行过什么处理,而我认为,一个好的异常处理的设计对于提高开发效率是必不可少的,在项目完成后,出现问题也容易定位问题所在,下面给出我项目中采用的异常架构的处理,以部门信息为例:
dao接口,代码为:
/** * 根据传入的部门主键查找对应的部门 * @param id部门的主键 * @throws DepartmentServiceException * @return DepartmentVO */public DepartmentVO doFindById(Long id) throws DepartmentServiceException {try {Department pojo = departmentDAO.findById(id);DepartmentVO vo = new DepartmentVO();BeanUtils.copyProperties(vo, pojo);return vo;} catch (Exception e) {logger.serious(e.getMessage(), e);//这个日志级别是自定义的,对log4j源码进行了修改throw new DepartmentServiceException("DepartmentServiceImpl.doFindById","ServiceException",e);}}