RangeError

Baseline 广泛可用 *

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

* 此特性的某些部分可能存在不同级别的支持。

RangeError 对象表示当一个值不在允许值的集合或范围内时发生的错误。

描述

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

这可能发生在

RangeError 是一个 可序列化的对象,因此可以使用 structuredClone() 进行克隆,或者使用 postMessage()Workers 之间进行复制。

RangeErrorError 的子类。

构造函数

RangeError()

创建一个新的 RangeError 对象。

实例属性

还继承了其父级 Error 的实例属性。.

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

RangeError.prototype.constructor

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

RangeError.prototype.name

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

实例方法

继承了其父级 Error 的实例方法。.

示例

使用 RangeError(针对数值)

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(针对非数值)

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
  }
}

规范

规范
ECMAScript® 2026 语言规范
# sec-native-error-types-used-in-this-standard-rangeerror

浏览器兼容性

另见