Об'єкт RangeError позначає помилку, що виникає, коли значення не входить у множину або діапазон дозволених значень.
Синтаксис
new RangeError([message[, fileName[, lineNumber]]])
Параметри
messageOptional- Необов'язковий. Зрозумілий людині опис помилки.
fileNameOptional- Необов'язковий. Ім'я файлу, який містить код, що спричинив виняток.
lineNumberOptional- Необов'язковий. Номер рядка в коді, що спричинив виняток.
Опис
Виняток RangeError викидається при спробі передати у якості аргумента функції значення, яке не входить у діапазон дозволених цією функцією значень.
Його можна зустріти, якщо:
- передати значення, що не є одним з дозволених рядкових значень, у
String.prototype.normalize(), або - при спробі створити масив з недозволеним значенням довжини за допомогою конструктора
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 (для числових значень)
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) === false)
{
throw new RangeError("Аргумент має дорівнювати \"яблуко\", \"банан\", або \"морква\".")
}
}
try
{
check("капуста")
}
catch(error)
{
if(error instanceof RangeError)
{
// Обробити помилку
}
}
Специфікації
| Специфікація |
|---|
| ECMAScript (ECMA-262) The definition of 'RangeError' in that specification. |
Сумісність з веб-переглядачами
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RangeError | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 5.5 | Opera Full support 5 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support 10.1 | Safari iOS Full support 1 | Samsung Internet Android Full support 1.0 | nodejs Full support 0.1.100 |
RangeError() constructor | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 5.5 | Opera Full support 5 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support 10.1 | Safari iOS Full support 1 | Samsung Internet Android Full support 1.0 | nodejs Full support 0.1.100 |
Legend
- Full support
- Full support