--- title: RangeError slug: Web/JavaScript/Reference/Global_Objects/RangeError tags: - Error - JavaScript - Object - RangeError translation_of: Web/JavaScript/Reference/Global_Objects/RangeError ---
{{JSRef}}

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

語法

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

參數

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

說明

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

屬性

{{jsxref("RangeError.prototype")}}
允許對一個 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.
    }
}

規範

規範 狀態 注解
{{SpecName('ES3')}} {{Spec2('ES3')}} Initial definition.
{{SpecName('ES5.1', '#sec-15.11.6.2', 'RangeError')}} {{Spec2('ES5.1')}}  
{{SpecName('ES6', '#sec-native-error-types-used-in-this-standard-rangeerror', 'RangeError')}} {{Spec2('ES6')}}  
{{SpecName('ESDraft', '#sec-native-error-types-used-in-this-standard-rangeerror', 'RangeError')}} {{Spec2('ESDraft')}}  

瀏覽器相容性

{{Compat("javascript.builtins.RangeError")}}

另見