RangeError

当值不在允许值的集合或范围内时,RangeError 对象指示错误。

¥The RangeError object indicates an error when a value is not in the set or range of allowed values.

描述

¥Description

当尝试将值作为参数传递给不允许包含该值的范围的函数时,会引发 RangeError

¥A RangeError is thrown when trying to pass a value as an argument to a function that does not allow a range that includes the value.

在以下情况下可能会遇到这种情况:

¥This can be encountered when:

RangeErrorserializable object,因此可以使用 structuredClone() 进行克隆,或者使用 postMessage()工人 之间进行复制。

¥RangeError is a serializable object, so it can be cloned with structuredClone() or copied between Workers using postMessage().

RangeErrorError 的子类。

¥RangeError is a subclass of Error.

构造函数

¥Constructor

RangeError()

创建一个新的 RangeError 对象。

实例属性

¥Instance properties

还从其父级 Error 继承实例属性。

¥Also inherits instance properties from its parent Error.

这些属性在 RangeError.prototype 上定义并由所有 RangeError 实例共享。

¥These properties are defined on RangeError.prototype and shared by all RangeError instances.

RangeError.prototype.constructor

创建实例对象的构造函数。对于 RangeError 实例,初始值为 RangeError 构造函数。

RangeError.prototype.name

表示错误类型的名称。对于 RangeError.prototype.name,初始值为 "RangeError"

实例方法

¥Instance methods

从其父级 Error 继承实例方法。

¥Inherits instance methods from its parent Error.

示例

¥Examples

使用 RangeError(对于数值)

¥Using RangeError (for numeric values)

js
function check(n) {
  if (!(n >= -500 && n <= 500)) {
    throw new RangeError("The argument must be between -500 and 500.");
  }
}

try {
  check(2000);
} catch (error) {
  if (error instanceof RangeError) {
    // Handle the error
  }
}

使用 RangeError(对于非数字值)

¥Using RangeError (for non-numeric values)

js
function check(value) {
  if (!["apple", "banana", "carrot"].includes(value)) {
    throw new RangeError(
      'The argument must be an "apple", "banana", or "carrot".',
    );
  }
}

try {
  check("cabbage");
} catch (error) {
  if (error instanceof RangeError) {
    // Handle the error
  }
}

规范

Specification
ECMAScript Language Specification
# sec-native-error-types-used-in-this-standard-rangeerror

¥Specifications

浏览器兼容性

BCD tables only load in the browser

¥Browser compatibility

也可以看看