5个答案按时间排序按投票排序
-
DAO不要抛 Checked Exception, 因为一般DAO出了问题,大部分都是数据库出了问题。数据库出了问题是无法用程序控制的。
所以,DAO一版都是抛Unchecked Exception,然后交由service处理。service去控制事务什么的。
2009年7月23日 14:05
-
DAO层的异常一般会处理成DaoException extends RuntimeException.
理由有下面几点
1.DAO层给Service提供一个统一的异常.方便Service层捕获.
2.Service层对DAO层的具体异常原因不关心,Dao层的异常多为SqlException而Service不关心是什么原因,什么类型的Sql异常.他只是关系是否有异常.
3.RuntimeException足够涵盖可能出现在的Dao层绝大部分异常.
以上是我的理解. 个人观点,仅供参考.2009年7月16日 02:28
-
dao如果要捕捉一般也都是 运行时异常吧.你直接往上抛就是了
到了业务层来处理这些异常.一般事务也是管业务这层的.所以你说的没错啊2009年7月15日 23:16
-
最好的方式是把异常一层一层往上抛,同时可以定义一系列的异常代码,到web层的时候根据异常代码来给出相对友好的提示。
客户一般是不希望看到一大堆乱七八糟的异常信息。。。2009年7月15日 23:03
-
这个不是这样啦,dao层也就是数据访问层,一般抛出的异常很大的可能就是数据库操作异常,无法恢复的异常啦,把它抛给service层处理,
异常统一抛到表示层去处理比较好,对于web