日期:2014-05-20  浏览次数:20639 次

不同模块调用之间的数据库异常如何处理
不同的模块之间调用,数据库模块的sql异常如何处理呢?
是简单地把sqlexception抛给调用模块,还是封装之后再抛出去呢?
想知道普遍是怎么做的?
我现在就只简单的写了log,有些则通过返回不同的返回值区分,其他什么都没做,这样是不是不好?

如果封装又改怎么封装呢?类似外键约束错误,主键重复这种需要封装吗?谢谢


------解决方案--------------------
只要catch了就一定要处理,否则就不要catch。
一般情况下,不要管它,重新封装成运行时异常,然后在最外层进行处理。
------解决方案--------------------
我觉得应该在中间层捕获并封装异常,每个sql异常的code不一样,可以这样判断

request.set(exction,ex);

if (ex.code==xxx){
out.print();
}