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は、関数に対して引数として許容されない範囲の数値を渡そうとした場合に発生します。

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

コンストラクター

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

関連情報