比如系统分了很多层,最上面是界面,中间还有几层,然后最下面是获取数据用的当界面需要数据的时候,调用方法,然后最底层的获取到数据再一层层返回到界面并显示但是有时候获取数据会出现各种各样问题,现在处理方式是有数据就返回,其他情况则返回null问题是底层和中间没办法处理这些错误,只能一层层返回到界面才能弹出打印信息但是界面只接收了null,无法判断到底是因为哪些错误引发的null,就无从打印想请教大家如何在不用框架的情况下解决这个问题呢?新手谢谢大家啦

解决方案 »

  1.   

    最简单的可以分为三层吧
    UI层,只显示,不做逻辑或只做少量的逻辑判断
    Business层:这层就是对数据进行业务逻辑 操作和判断啊,然后对不正常的业务封装一些错误(自定义异常)的信息抛到UI层的
    DAO层,操作数据库,只要数据库没抛出异常就不管
      

  2.   

    问题是错误有多种情况,比如N种情况导致获取数据为null,那么把null返回到UI层之后,UI怎么知道这个null到底对应了哪种错误,并采取不同的显示呢?
      

  3.   

    在Business层进行处理和判断,null值肯定不能传到UI的,举个例子吧
    String userId=***;
    if(userId)
    {
    thow new Exception("输入参数不能为空");
    }
    List list = ***DAO.query(userId);
    if(list ==null ||list.size ==0)
    {
    thow new Exception("查询无记录");
    }