RangeError オブジェクトは、値が配列内に存在しない、または値が許容範囲にない場合のエラーを表します。
解説
RangeErrorは、関数に対して引数として許容されない範囲の数値を渡そうとした場合に発生します。
これは次のような場合に発生します。
- 許容されない文字を含む文字列を
String.prototype.normalize()に渡した場合 Arrayコンストラクターで不正な長さの配列を作ろうとした場合- 数値に関するメソッド
Number.prototype.toExponential(),Number.prototype.toFixed(),Number.prototype.toPrecision()に不適切な値を渡した場合
コンストラクター
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 の定義 |
ブラウザーの互換性
このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。
Update compatibility data on GitHub
| デスクトップ | モバイル | サーバー | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RangeError | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 5 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
RangeError() constructor | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 5 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
凡例
- 完全対応
- 完全対応