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 の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
RangeErrorChrome 完全対応 1Edge 完全対応 12Firefox 完全対応 1IE 完全対応 5.5Opera 完全対応 5Safari 完全対応 1WebView Android 完全対応 1Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 10.1Safari iOS 完全対応 1Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.1.100
RangeError() constructorChrome 完全対応 1Edge 完全対応 12Firefox 完全対応 1IE 完全対応 5.5Opera 完全対応 5Safari 完全対応 1WebView Android 完全対応 1Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 10.1Safari iOS 完全対応 1Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.1.100

凡例

完全対応  
完全対応

関連情報