This page was translated from English by the community. Learn more and join the MDN Web Docs community.

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 г.⁩.

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

>

Объект 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® 2026 Language Specification>
# sec-native-error-types-used-in-this-standard-rangeerror>

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

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