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

瀏覽器相容性

另見