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.
**RangeError
**物件在一個給定的值不在允許的集合或範圍內時被作為一個錯誤拋出
語法
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
(數值)
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 Language Specification # sec-native-error-types-used-in-this-standard-rangeerror |
瀏覽器相容性
BCD tables only load in the browser