RangeError

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

**RangeError**物件在一個給定的值不在允許的集合或範圍內時被作為一個錯誤拋出

語法

js
new RangeError([message[, fileName[, lineNumber]]])

參數

message

可選。具人類可讀性的錯誤說明

fileName Non-standard

可選。包含造成錯誤發生的程式碼的檔案名稱

lineNumber Non-standard

可選。造成錯誤發生的程式碼行號

說明

當試著往一個 function 傳入一個不被其允許的值作為參數時,一個RangeError被拋出。這可在多種情況遭遇到,例如傳入一個不被允許的字串值到 String.prototype.normalize(),或試著透過 Array constructor 用一個不合法的長度來創建一個陣列,或往數值方法像是Number.toExponential()Number.toFixed()Number.toPrecision() 傳進糟糕的值。

屬性

RangeError.prototype

允許對一個 RangeError 物件增加其屬性。

方法

普遍的 RangeError 自身沒有包含方法,儘管他的確從原型鍊中繼承了一些。

RangeError 物件實體

屬性

RangeError.prototype.message

Error message. Inherited from Error.

RangeError.prototype.name

Error name. Inherited from Error.

RangeError.prototype.cause

Error cause. Inherited from Error.

RangeError.prototype.fileName Non-standard

Path to file that raised this error. Inherited from Error.

RangeError.prototype.lineNumber Non-standard

Line number in file that raised this error. Inherited from Error.

RangeError.prototype.columnNumber Non-standard

Column number in line that raised this error. Inherited from Error.

RangeError.prototype.stack Non-standard

Stack trace. Inherited from 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) === false) {
    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® 2025 Language Specification
# sec-native-error-types-used-in-this-standard-rangeerror

瀏覽器相容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
RangeError
RangeError() constructor
RangeError is serializable

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

參見