问题描述
比如采用struts2 + hibernate3,包结构如下:com.xxx.daocom.xxx.daoimplcom.xxx.pojocom.xxx.servicecom.xxx.actioncom.xxx.util请问异常在什么级别进行处理,service还是action中,还是其他?
解决方案
一般底层的异常,比如io等异常,在util,dao这些地方处理就可以了,一般事务的异常会在service处理,比如你在service层调用一个插入的dao,你得把这个里面的异常捕获,并且回滚事务(因为你没用spring,不能声明式事务)。action一般不处理这样的异常。 所以大概做法是:你在dao的异常抛出到service层,然后在service 用catch处理,假如有数据库操作的,处理的时候就得回滚事务。
时间: 2025-01-09 06:43:07