异常的设计

最近做毕业设计一直在思考!怎么设计和处理各个层的异常问题。

如果说是DAO抛出一个DateAccessException或者是原始的SQLException,那是否应该在Service里截住,再包装成BusinessException,再抛出,然后在Action里面判断如果出现异常,并处理。

可是觉得这样好麻烦,是不是应该直接就DAO和Service都不截获异常,直接抛到Action,最后又Action来统一判断做处理。

只使用了Struts。事务是有自己的一个类来管理的,是通过ThreadLocal来实现。设计的是由Action来管理事务。

不过知道怎样设计异常和处理机制才是合理的,还望高手指教!

1,异常层次尽量少
2,如果可能,转化为runtimeexception
3,将dao异常转化为service层异常
4,异常要最后要捕捉

包装一下throw出去!不要services里面捕获!这样web层得不到最纯净的数据

最后决定把自己的异常包装成一个runtimeexception,由Action捕获,最后由它负责下一流程的走向,特殊情况下才在Serice里捕获!