在 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 表单提交?

在golang中处理逻辑错误与编程错误的惯用方法

在javascript中执行“整数”转换/类型转换的惯用方式是啥?

同时改变多个结构字段的最快惯用方法是啥?

惯用的节点错误处理