每当我用动态类型的语言编写函数时,我仍然会想知道返回的最佳方法是什么,这样可以很容易地处理调用函数中的错误并保持程序流畅。
当使用动态类型语言在功能上不正常时,社区认为什么是正确的回归?
我的一般想法是:
如果要返回实际值,则应该在成功执行函数时使用该类型返回数据,如果出现意外情况,则应返回null。
应为通用实用程序函数保留抛出异常
如果发生错误,您不应返回特定类型的默认值,例如,如果用户需要字符串,则在发生错误时不应返回空字符串。
答案 0 :(得分:7)
当发生异常时(在单词的含义中)抛出异常。 null
类似于“无”,这不是必然意味着发生错误。例如,find()
- 方法可能会返回null
,以防它找不到任何内容,符合某些给定的条件。当你将null
定义为“错误”时,你会有一种神奇的价值,就像古老的“神奇数字”一样,总是必须记录下来。
答案 1 :(得分:0)
我质疑使用自定义异常。听起来很复杂。
这样做: 通过引用传递变量以返回数据,并使用bool返回值获取成功/失败