首页 新闻 会员 周边

讨论:数据层是抛出异常好还是返回t/f好

0
[已关闭问题] 关闭于 2008-11-06 18:34

我给数据层设计方法,比如GetEmployeeById(int id);

这个方法是返回void,但是失败的时候抛出异常

还是返回true / false,表示是否成功

这两种做法,大家觉得哪个更好点?

问题补充: 不好意思,问题中的代码例子不是很恰当 应为bool/void Data.Update(Model);形状
JimLiu的主页 JimLiu | 菜鸟二级 | 园豆:300
提问于:2008-11-02 22:18
< >
分享
所有回答(4)
0

为了更好的用户或安全考虑,我都是把错误信息写入到Log中并做一个查看Log的Web页,再返回t/f~

Astar | 园豆:40805 (高人七级) | 2008-11-02 22:53
0

数据层的部分自然用异常管理相对灵活一些,扩展性也好一些

关于错误信息的部分自然也是可以用异常来管理的

xwang | 园豆:260 (菜鸟二级) | 2008-11-02 23:43
0

我觉得在数据层不应该有异常被抛出,我始终认为所有的异常都不应该抛出给用户,无论在哪一层

在异常出现时,一定要把异常信息和相关堆栈信息等记录下来,LOG文件或数据库都可以,以便于分析,但是在前面,显示给用户的只是一个简单的信息,告诉用户出错了,仅此而已,没必要也不应该把错误信息抛给用户看

丁学 | 园豆:18730 (专家六级) | 2008-11-03 11:31
0

我感觉在开发的时候 把这些容易出错的信息放到Try -- Catch语句里,这样便于自己查找错误的原因,但是在发布的时候 抛出给用户的异常一定要做成自定义的那种,只是提示出错而已,不易太详细,告诉用户 数据库ID不存在等这样的信息。

金鱼 | 园豆:1090 (小虾三级) | 2008-11-03 16:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册