1
xudshen 2014-12-02 16:42:59 +08:00 1
java的话我倾向于这样,因为还是会有些时候用到查询的返回数据的
``` public Object query() throws Exception{ if(查询出错){ throw new Exception(); } if(查询结果为空){ return null; } else{ return 查询到的数据; } } ``` 返回true,false一般用来check是否存在查询数据的,会再wrap一个函数 ``` public Boolean check() throws Exception{ return query() != null; } ``` |
2
hcymk2 2014-12-02 17:04:09 +08:00 1
我觉得得看你的方法名字。
|
3
yunshansimon 2014-12-02 17:06:53 +08:00 1
要判断,这个错误是否会影响整体运行的结果,如果不影响,就包装一下好了,只有在可控范围内无法处理,而且严重影响其他代码运行的错误才需要throws exception。经常会有错误发生的话,C类的可以传递一个error对象进去当作输出参数,**error,调用返回后检查error是不是null。java的话就不行了,你能处理的,就尽量在函数中处理吧,要throws exception,就必须用try的方式调用,很麻烦,否则编译器报错。
|
4
mcfog 2014-12-02 17:12:58 +08:00 1
有值返回true的话值放在哪里……
一般而言我会用exception/array 这样,无论是否有结果都返回array,外面关心空结果的话用empty判断就好 如果是只查一条记录的,看这条记录是否“应该存在”,如果“应该存在”,那么出错和空抛不同exception,如果“不存在正常”的话,用exception/null/$data 这样 数据库倒了这么重要的事情当然要抛exception让外面处理 一般而言,除非方法本身就是判断句isXXX hasXXX,我会尽量不返回true/false 优雅不敢谈,但求不坑 |
5
Sunyanzi 2014-12-02 18:04:55 +08:00
返回三种值的情况难道不该用三元吗 ...
|
7
ihgoo 2014-12-02 22:56:16 +08:00
return result == null ? 0 : result;
|
8
kmvan 2014-12-02 23:09:38 +08:00
可以参考wp的错误信息返回设计。返回一个对象,用类似 is_error($obj) 来判断是否错误。
|
10
sarices 2014-12-03 10:24:44 +08:00
查询出错应该抛出异常,没数据直接返回空数组,有数据就返回数据的数组
|