Сводка
Объект RangeError
представляет ошибку, возникающую, когда значение не входит в множество или выходит за диапазон допустимых значений.
Синтаксис
new RangeError([message[, fileName[, lineNumber]]])
Параметры
message
- Необязательный параметр. Человеко-читаемое описание ошибки.
fileName
- Необязательный параметр. Имя файла, содержащего код, вызвавший исключение.
lineNumber
- Необязательный параметр. Номер строки кода, вызвавшей исключение.
Описание
Исключение RangeError
выбрасывается при попытке передать аргументом в функцию число, которое не входит в допустимый диапазон значений аргумента этой функции. Оно может возникать при создании массива с неправильной длиной через конструктор Array
, или при передаче плохих значений в методы числа Number.toExponential()
, Number.toFixed()
или Number.toPrecision()
.
Свойства
RangeError.prototype
- Позволяет добавлять свойства в объект
RangeError
.
Методы
Глобальный объект RangeError
не содержит собственных методов, однако, он наследует некоторые методы из цепочки прототипов.
Экземпляры объекта RangeError
Свойства
RangeError.prototype.constructor
- Определяет функцию, создающую прототип экземпляра.
RangeError.prototype.message
- Сообщение ошибки. Хотя стандарт ECMA-262 определяет, что
RangeError
должен предоставлять своё собственное свойствоmessage
, в SpiderMonkey он наследует свойствоError.prototype.message
. RangeError.prototype.name
- Название ошибки. Унаследовано от
Error
. RangeError.prototype.fileName
- Путь к файлу, в котором возникла эта ошибка. Унаследовано от
Error
. RangeError.prototype.lineNumber
- Номер строки в файле, в котором возникла эта ошибка. Унаследовано от
Error
. RangeError.prototype.columnNumber
- Номер колонки в строке, на которой возникла эта ошибка. Унаследовано от
Error
. RangeError.prototype.stack
- Стек вызовов. Унаследовано от
Error
.
Методы
Хотя объект прототипа RangeError
не содержит собственных методов, экземпляры RangeError
наследуют некоторые методы из цепочки прототипов.
Примеры
Пример: использование RangeError
var check = function(num) {
if (num < MIN || num > MAX) {
throw new RangeError('Параметр должен быть между ' + MIN + ' и ' + MAX);
}
};
try {
check(500);
}
catch (e) {
if (e instanceof RangeError) {
// Обработка ошибки диапазона
}
}
Спецификации
Спецификация | Статус | Комментарии |
---|---|---|
ECMAScript 3-е издание. | Стандарт | Изначальное определение. |
ECMAScript 5.1 (ECMA-262) Определение 'RangeError' в этой спецификации. |
Стандарт | |
ECMAScript 2015 (6th Edition, ECMA-262) Определение 'RangeError' в этой спецификации. |
Стандарт |
Совместимость с браузерами
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) |
Возможность | Android | Chrome для Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) | (Да) |