假设我有一个只接受非负数的函数,我收到一个否定的参数。
在Python中,我会提出ValueError
。在Java中,我会抛出一个IllegalArgumentException
。我应该在JavaScript中引入任何内置异常,还是应该返回undefined
?
答案 0 :(得分:3)
这是一个常见问题:抛出异常,还是要返回?
我建议你看到这个:https://stackoverflow.com/a/1153149/2557927
如果您的方法无法按照其名称所做的那样做,请抛出。
根据MDN,你可能想要throw RangeError("x should be a non-negative number");
。虽然JavaScript不限制可抛出的数据类型,但我认为抛出一个Error
类比抛出一个字符串更好,因为它更容易被高级函数捕获。