猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
当检索方法不能生成返回值时,应该返回‘NULL’还是抛出异常?
当检索方法不能生成返回值时,应该返回‘NULL’还是抛出异常?
我有一个方法,如果找到对象,应该返回它。
如果没有找到,我是否应该:
返回空
抛出异常
其他
隔江千里
浏览 877
回答 3
3回答
互换的青春
如果您总是期望找到一个值,那么如果它丢失了,那么抛出异常。这一例外将意味着存在一个问题。如果值可能丢失或存在,并且两者对应用程序逻辑都有效,则返回一个NULL。更重要的是:您在代码中的其他位置做什么?一致性很重要。
0
0
0
慕盖茨4494581
只有当异常确实是错误时才抛出异常。如果预期对象的行为不存在,则返回NULL。否则,这是一个优先考虑的问题。
0
0
0
MM们
如果NULL从不表示错误,那么只需返回NULL。如果NULL总是一个错误,那么抛出一个异常。如果NULL有时是一个异常,那么就编写两个例程。一个例程抛出一个异常,另一个例程是一个布尔测试例程,它在输出参数中返回对象,如果找不到该对象,则该例程返回一个false。这是很难滥用一个尝试例行公事。忘记检查NULL真的很容易。因此,当NULL是一个错误时,只需编写object o = FindObject();当NULL不是错误时,可以编写如下代码if (TryFindObject(out object o) // Do something with o else // o was not found
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
源码
spark分组排序提取前N个值
1 回答
请问转让门店小程序需要源码吗?门店小程序有自己的源代码吗?是否要注册计算机软件著作权才可以交易?
1 回答
算法与数据结构
数据结构中,与所使用的计算机无关的数据是什么?
1 回答
学完C语言之后是先学数据结构还是先学JAVA好呢?
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续