在 JavaScript 中处理非法参数的惯用方法是啥?
Posted
技术标签:
【中文标题】在 JavaScript 中处理非法参数的惯用方法是啥?【英文标题】:What's an idiomatic way to handle illegal argument in JavaScript?在 JavaScript 中处理非法参数的惯用方法是什么? 【发布时间】:2014-01-28 03:10:43 【问题描述】:假设我有一个只接受非负数的函数并且我收到一个负数参数。
在 Python 中,我会提出 ValueError
。在 Java 中,我会抛出一个IllegalArgumentException
。我应该在 javascript 中抛出任何内置异常,还是应该返回 undefined
?
【问题讨论】:
也许TypeError 或RangeError 是合适的。本质上,您可以使用自定义消息抛出普通的Error()。 您可以throw 任何您想要的异常。 抛出某种类型的Error
,可能是one that you have created yourself。
【参考方案1】:
这是一个常见问题:抛出异常,还是返回?
我建议你看看这个:https://***.com/a/1153149/2557927
如果你的方法不能像它的名字所说的那样做,抛出。
根据MDN,您可能想要throw RangeError("x should be a non-negative number");
。虽然 JavaScript 不限制可以抛出的数据类型,但我认为抛出 Error
类比抛出字符串更好,因为它更容易被上层函数捕获。
【讨论】:
以上是关于在 JavaScript 中处理非法参数的惯用方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
一次循环遍历 Javascript 数组多个元素的惯用方法是啥?
在 Django 中是不是有一种惯用的方法来编写不显眼的 JavaScript 和/或进行 AJAX 表单提交?