RangeError
物件在一個給定的值不在允許的集合或範圍內時被作為一個錯誤拋出
語法
new RangeError([message[, fileName[, lineNumber]]])
參數
message
- 可選。具人類可讀性的錯誤說明
fileName
- 可選。包含造成錯誤發生的程式碼的檔案名稱
lineNumber
- 可選。造成錯誤發生的程式碼行號
說明
當試著往一個 function 傳入一個不被其允許的值作為參數時,一個RangeError
被拋出。這可在多種情況遭遇到,例如傳入一個不被允許的字串值到 String.prototype.normalize()
,或試著透過 Array
constructor 用一個不合法的長度來創建一個陣列,或往數值方法像是Number.toExponential()
、Number.toFixed()
、Number.toPrecision()
傳進糟糕的值。
屬性
RangeError.prototype
- 允許對一個
RangeError
物件增加其屬性。
方法
普遍的 RangeError
自身沒有包含方法,儘管他的確從原型鍊中繼承了一些。
RangeError
物件實體
屬性
方法
範例
使用 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.
}
}
規範
規範 | 狀態 | 注解 |
---|---|---|
ECMAScript 3rd Edition (ECMA-262) | Standard | Initial definition. |
ECMAScript 5.1 (ECMA-262) The definition of 'RangeError' in that specification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'RangeError' in that specification. |
Standard | |
ECMAScript (ECMA-262) The definition of 'RangeError' in that specification. |
Living Standard |
瀏覽器相容性
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.