RangeError

Объект RangeError представляет ошибку, возникающую, когда значение не входит в множество или диапазон допустимых значений.

Описание

RangeError возникает при попытке передать в качестве аргумента функции значение, которое не входит в диапазон допустимых значений.

Это может происходить в разных случаях:

RangeError является сериализуемым объектом (en-US), поэтому он может быть клонирован с помощью structuredClone() (en-US) или передан между воркерами с использованием postMessage().

RangeError является подклассом Error.

Конструктор

RangeError() (en-US)

Создаёт новый объект RangeError.

Свойства экземпляра

Также наследует свойства экземпляра своего родителя Error.

Эти свойства определены в RangeError.prototype и есть у всех экземпляров RangeError.

RangeError.prototype.constructor

Функция-конструктор, создающая экземпляр объекта. Для экземпляров RangeError начальным значением является конструктор RangeError (en-US).

RangeError.prototype.name

Представляет название типа ошибки. Начальным значением RangeError.prototype.name является "RangeError".

Методы экземпляра

Наследует методы экземпляра своего родителя Error.

Примеры

Использование RangeError для цифровых значений

js
function check(n) {
  if (!(n >= -500 && n <= 500)) {
    throw new RangeError("Аргумент должен быть в диапазоне между -500 и 500.");
  }
}

try {
  check(2000);
} catch (error) {
  if (error instanceof RangeError) {
    // Обработка ошибки
  }
}

Использование RangeError для нецифровых значений

js
function check(value) {
  if (!["яблоко", "банан", "морковь"].includes(value)) {
    throw new RangeError(
      'Аргумент должен иметь значение "яблоко", "банан" или "морковь".',
    );
  }
}

try {
  check("капуста");
} catch (error) {
  if (error instanceof RangeError) {
    // Обработка ошибки
  }
}

Спецификации

Specification
ECMAScript Language Specification
# sec-native-error-types-used-in-this-standard-rangeerror

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также