多层的情况下怎样更好的处理错误信息?

fghnn 2012-06-08 10:23:47
比如系统分了很多层,最上面是界面,中间还有几层,然后最下面是获取数据用的

当界面需要数据的时候,调用方法,然后最底层的获取到数据再一层层返回到界面并显示

但是有时候获取数据会出现各种各样问题,现在处理方式是有数据就返回,其他情况则返回null

问题是底层和中间没办法处理这些错误,只能一层层返回到界面才能弹出打印信息

但是界面只接收了null,无法判断到底是因为哪些错误引发的null,就无从打印

想请教大家如何在不用框架的情况下解决这个问题呢?新手谢谢大家啦
...全文
94 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fghnn 2012-06-08
  • 打赏
  • 举报
回复
问题是错误有多种情况,比如N种情况导致获取数据为null,那么把null返回到UI层之后,UI怎么知道这个null到底对应了哪种错误,并采取不同的显示呢?


[Quote=引用 1 楼 的回复:]

最简单的可以分为三层吧
UI层,只显示,不做逻辑或只做少量的逻辑判断
Business层:这层就是对数据进行业务逻辑 操作和判断啊,然后对不正常的业务封装一些错误(自定义异常)的信息抛到UI层的
DAO层,操作数据库,只要数据库没抛出异常就不管
[/Quote]
a395885670 2012-06-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

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

业务层抛出自定义异常给视图层 视图层根据异常给用户提示
淡定的峰哥 2012-06-08
  • 打赏
  • 举报
回复
最简单的可以分为三层吧
UI层,只显示,不做逻辑或只做少量的逻辑判断
Business层:这层就是对数据进行业务逻辑 操作和判断啊,然后对不正常的业务封装一些错误(自定义异常)的信息抛到UI层的
DAO层,操作数据库,只要数据库没抛出异常就不管
fghnn 2012-06-08
  • 打赏
  • 举报
回复
谢谢,很有帮助

[Quote=引用 4 楼 的回复:]


在Business层进行处理和判断,null值肯定不能传到UI的,举个例子吧
String userId=***;
if(userId)
{
thow new Exception("输入参数不能为空");
}
List list = ***DAO.query(userId);
if(list ==null ||list.size ==0)
{
thow new Exception("查询无记录");
}
[/Quote]
淡定的峰哥 2012-06-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
问题是错误有多种情况,比如N种情况导致获取数据为null,那么把null返回到UI层之后,UI怎么知道这个null到底对应了哪种错误,并采取不同的显示呢?



引用 1 楼 的回复:

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


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

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧