首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

关于错误

2011-12-26 
关于异常小弟新手,请教一下各位大侠,在数据访问层,究竟应该向业务逻辑层抛什么样的异常呢?有的书上说不应

关于异常
小弟新手,请教一下各位大侠,在数据访问层,究竟应该向业务逻辑层抛什么样的异常呢?有的书上说不应该抛出类似SQLException之类的异常,所以我都是捕获到这类的异常,然后抛出一个自定义的异常,比如DBEcxeption,但我很快发现,那整个数据访问层抛出的都是这个异常,还有意义吗?还有,比如我的dao的实现类里有一个方法,是查找所有的帖子,但如果数据库中连一条帖子的记录也没有,那我是不是应该自定义并抛出一个topicNotFindException的异常呢,还是用if(TopicList==null)这样类似的语句来判断?有没有哪位大侠能帮帮我,或者能整体的说一下在三层架构中,每一层的异常应该是怎么样设计的。非常感谢!

[解决办法]
个人觉得:
1. DAO层应该只抛出数据库连接出错之类的严重错误.
2. 至于有些数据没有找到的Exception, 应该还是留到业务层判断和处理. 因为DAO层可能不知道业务层的逻辑和相应的处理. 
3. 异常最好集中在业务层中抛出, 然后在MVC中的Controller中将Exception转化为相应的错误信息(message).

热点排行