このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

RangeError

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

* Some parts of this feature may have varying levels of support.

>

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® 2026 Language Specification>
# sec-native-error-types-used-in-this-standard-rangeerror>

ブラウザーの互換性

関連情報