首页新闻找找看学习计划

关于带返回值的函数的问题

0
悬赏园豆:10 [已解决问题] 解决于 2013-03-02 13:14

比方说我有好多查询数据库的函数,返回的都是DataTable,我是否要在每个调用这个函数的地方做一个返回值是否为Null的判断?这样的话,不是要在程序中写很多if判断?当然,正常情况下这些方法都是不会返回null的,但是有可能数据库连接不上,数据被误删了之类的情况呢,一般是如何处理的。

林J的主页 林J | 菜鸟二级 | 园豆:202
提问于:2013-02-26 11:35
< >
分享
最佳答案
0

hi guy.

  1. 数据库连接不上,被误删都会有异常抛出来,你需要做的是catch到这些数据库异常,光判断null是没用的;
  2. 是不是null还是要检查的,如果不希望程序中断,可以写到日志文件然后跳出函数。如果要让程序中断并把最终信息反馈到端,那就抛出异常然后在上层catch到,并把信息显示出来。

may it help.

收获园豆:5
月窟仙人 | 菜鸟二级 |园豆:383 | 2013-02-26 11:44
其他回答(6)
0

我个人建议在调用时判断是否为null

因为函数应该功能单一,只是执行你需要的查询,并返回结果,而null显然属于结果的一种

不同调用地点对null处理方式不同,应该在调用时判断.

收获园豆:5
飞来飞去 | 园豆:2057 (老鸟四级) | 2013-02-26 11:42
0

1、读取数据的部分try-catch一下,捕获异常

2、在对获取到的对象要if判断null,并且还要对row的索引越界判断

滴答的雨 | 园豆:3690 (老鸟四级) | 2013-02-26 11:50
0

建议都判断一下,如果觉得麻烦你可以在查询数据库函数方法里就写好判断,当为NULL时new一个空数据库返回。用时只需判断ROW是否大于0了。

志誠 | 园豆:122 (初学一级) | 2013-02-26 13:58
0

个人建议:

1.对于获取多条数据,如果不存在符合条件的数据的话,那么new一个不包含任何元素的空集合。

2.对于只获取一条数据,如果不存在符合条件的数据的话,还是返回null。

当然如你所说的数据获取过程出现异常的话,还是不建议这样“吃掉异常的”,这样不利于使用方的使用。

Zachary_Fan | 园豆:762 (小虾三级) | 2013-02-26 15:38
0

可以直接用isDBNULL方法判断的!最好是使用默认值填充!这样就永远也不会出现null了!

Elaine00 | 园豆:290 (菜鸟二级) | 2013-02-27 21:56
0

1,2楼说的很好

RyanCheng | 园豆:474 (菜鸟二级) | 2013-02-28 09:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册