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

在什么位置抛出异常比较合理?
比如我要点一个“确定”按钮来往数据库里面插入数据。

表示层调用业务逻辑层方法、业务逻辑层调用数据访问层方法,如果插入失败,在表示层弹出窗口提示用户“插入失败”。

我在哪一层的方法里抛出异常比较好呢?

------解决方案--------------------
看你是怎样设计的,容错能力如何等等。

如果容错能力弱的话,就最后一层捕获最简单。

如果容错能力强的话,每一层都捕获,还要根据错误类型判断是SQL出错,代码执行错等等
------解决方案--------------------
我一般在抛出异常的位置捕获后,进行自己的处理,比如记录出错日志,然后再抛到最外层进行提醒。
------解决方案--------------------
异常通常在比较上层的地方抛出来。

有些人喜欢在BLL,有些喜欢在UI