【发布时间】:2012-01-31 03:35:39
【问题描述】:
在 JavaScript 中编写库时,处理函数的无效输入最标准(最友好?)的方法是什么?我的直觉告诉我,返回 undefined 完全没问题,但实际上抛出错误是否更有帮助?还是真的不重要?
我还可以看到返回 false、null 甚至 -1,但我不认为这些会像人们普遍预期的那样。
(如果这个问题太主观,我很乐意顺其自然。)
【问题讨论】:
-
一个库应该用 cmets 编码,清楚地定义参数必须或可能是什么以及它们不能是什么,以及任何返回值的类型。最友好的做法是不要使用任何不准备处理的参数调用函数。
-
因此,我负责记录功能,而用户则必须遵守其规则。这表明简单地返回 undefined 就足够了。但是由于我需要多花 1 分钟的时间来抛出错误而不是默默地死去,对于那些没有花时间阅读文档的人来说,这不会节省数小时的调试时间吗?或者,过于冗长和引发太多错误是否存在固有的负面影响。