在JavaScript中处理非法参数的惯用方法是什么?

时间:2014-01-09 14:04:12

标签: javascript idioms

假设我有一个只接受非负数的函数,我收到一个否定的参数。

在Python中,我会提出ValueError。在Java中,我会抛出一个IllegalArgumentException。我应该在JavaScript中引入任何内置异常,还是应该返回undefined

1 个答案:

答案 0 :(得分:3)

这是一个常见问题:抛出异常,还是要返回?

我建议你看到这个:https://stackoverflow.com/a/1153149/2557927

如果您的方法无法按照其名称所做的那样做,请抛出。

根据MDN,你可能想要throw RangeError("x should be a non-negative number");。虽然JavaScript不限制可抛出的数据类型,但我认为抛出一个Error类比抛出一个字符串更好,因为它更容易被高级函数捕获。