RangeError

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

Описание

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

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

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

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

Конструктор

RangeError()

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

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

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

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

RangeError.prototype.constructor

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

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

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