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.

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

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

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
RangeError
RangeError() constructor
RangeError is serializable

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

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