RangeError

RangeError オブジェクトは、値が配列内に存在しない、または値が許容範囲にない場合のエラーを表します。

解説

RangeErrorは、関数に対して引数として許容されない範囲の数値を渡そうとした場合に発生します。

これは次のような場合に発生します。

コンストラクター

RangeError()
新しい RangeError オブジェクトを生成します。

インスタンスプロパティ

RangeError.prototype.message
エラーメッセージ。 ECMA-262 は RangeError 自身が message プロパティを提供するべきであると規定しているにもかかわらず、 SpiderMonkey では Error.prototype.message が継承される。
RangeError.prototype.name
エラー名。 Error から継承。
RangeError.prototype.fileName
エラーが発生したファイルへのパス。 Error から継承。
RangeError.prototype.lineNumber
エラーが発生したファイルの行番号。 Error から継承。
RangeError.prototype.columnNumber
エラーが発生したファイルの列番号。 Error から継承。
RangeError.prototype.stack
スタックトレース。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
    }
}

仕様書

仕様書
ECMAScript (ECMA-262)
RangeError の定義

ブラウザーの互換性

BCD tables only load in the browser

関連情報