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
**物件在一個給定的值不在允許的集合或範圍內時被作為一個錯誤拋出
語法
new RangeError([message[, fileName[, lineNumber]]])
參數
message
可選。具人類可讀性的錯誤說明
fileName
Non-standard可選。包含造成錯誤發生的程式碼的檔案名稱
lineNumber
Non-standard可選。造成錯誤發生的程式碼行號
說明
當試著往一個 function 傳入一個不被其允許的值作為參數時,一個RangeError
被拋出。這可在多種情況遭遇到,例如傳入一個不被允許的字串值到 String..normalize()
,或試著透過 Array
constructor 用一個不合法的長度來創建一個陣列,或往數值方法像是Number.toExponential()
、Number.toFixed()
、Number.toPrecision()
傳進糟糕的值。
屬性
RangeError.
允許對一個
RangeError
物件增加其屬性。
方法
普遍的 RangeError
自身沒有包含方法,儘管他的確從原型鍊中繼承了一些。
RangeError
物件實體
屬性
RangeError..message
Error message. Inherited from
Error
.RangeError..name
Error name. Inherited from
Error
.RangeError..cause
Error cause. Inherited from
Error
.RangeError..fileName
Non-standardPath to file that raised this error. Inherited from
Error
.RangeError..lineNumber
Non-standardLine number in file that raised this error. Inherited from
Error
.RangeError..columnNumber
Non-standardColumn number in line that raised this error. Inherited from
Error
.RangeError..stack
Non-standardStack trace. Inherited from
Error
.
範例
使用 RangeError
(數值)
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
(非數值)
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® 2026 Language Specification # sec-native-error-types-used-in-this-standard-rangeerror |