RangeError
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
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 の使用
js
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 の使用 (数値以外に対して)
js
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
}
}
仕様書
Specification |
---|
ECMAScript Language Specification # sec-native-error-types-used-in-this-standard-rangeerror |
ブラウザーの互換性
BCD tables only load in the browser