什么时候应该在动态类型语言中使用null?

时间:2011-10-15 01:15:09

标签: php javascript dynamic

每当我用动态类型的语言编写函数时,我仍然会想知道返回的最佳方法是什么,这样可以很容易地处理调用函数中的错误并保持程序流畅。

当使用动态类型语言在功能上不正常时,社区认为什么是正确的回归?

我的一般想法是:

  1. 如果要返回实际值,则应该在成功执行函数时使用该类型返回数据,如果出现意外情况,则应返回null。

  2. 应为通用实用程序函数保留抛出异常

  3. 如果发生错误,您不应返回特定类型的默认值,例如,如果用户需要字符串,则在发生错误时不应返回空字符串。

2 个答案:

答案 0 :(得分:7)

当发生异常时(在单词的含义中)抛出异常。 null类似于“无”,这不是必然意味着发生错误。例如,find() - 方法可能会返回null,以防它找不到任何内容,符合某些给定的条件。当你将null定义为“错误”时,你会有一种神奇的价值,就像古老的“神奇数字”一样,总是必须记录下来。

答案 1 :(得分:0)

我质疑使用自定义异常。听起来很复杂。

这样做: 通过引用传递变量以返回数据,并使用bool返回值获取成功/失败