RangeError
Объект RangeError
представляет ошибку, возникающую, когда значение не входит в множество или диапазон допустимых значений.
Описание
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 Language Specification # sec-native-error-types-used-in-this-standard-rangeerror |
Совместимость с браузерами
BCD tables only load in the browser