RangeError

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

語法

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

參數

message
可選。具人類可讀性的錯誤說明
fileName
可選。包含造成錯誤發生的程式碼的檔案名稱
lineNumber
可選。造成錯誤發生的程式碼行號

說明

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

屬性

RangeError.prototype (en-US)
允許對一個 RangeError 物件增加其屬性。

方法

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

RangeError 物件實體

屬性

{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError/prototype', 'Properties')}}

方法

{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError/prototype', 'Methods')}}

範例

使用 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

另見