This page was translated from English by the community.Learn more and join the MDN Web Docs community.
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 представляет ошибку, возникающую, когда значение не входит в множество или диапазон допустимых значений.
In this article
Описание
RangeError возникает при попытке передать в качестве аргумента функции значение, которое не входит в диапазон допустимых значений.
Это может происходить в разных случаях:
- при передаче значения, которое не является одной из допустимых строк, в
String.prototype.normalize(), - при попытке создать массив недопустимой длины с помощью конструктора
Array, - при передаче недопустимых значений в такие методы, как
Number.prototype.toExponential(),Number.prototype.toFixed()илиNumber.prototype.toPrecision().
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 для цифровых значений
function check(n) { if (!(n >= -500 && n <= 500)) { throw new RangeError("Аргумент должен быть в диапазоне между -500 и 500."); }}try { check(2000);} catch (error) { if (error instanceof RangeError) { // Обработка ошибки }}ИспользованиеRangeError для нецифровых значений
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> |