RangeError

Об'єкт RangeError позначає помилку, що виникає, коли значення не входить у множину або діапазон дозволених значень.

Синтаксис

new RangeError([message[, fileName[, lineNumber]]])

Параметри

message
Необов'язковий. Зрозумілий людині опис помилки.
fileName
Необов'язковий. Ім'я файлу, який містить код, що спричинив виняток.
lineNumber
Необов'язковий. Номер рядка в коді, що спричинив виняток.

Опис

Виняток 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 3rd Edition (ECMA-262) Standard Початкове визначення.
ECMAScript 5.1 (ECMA-262)
The definition of 'RangeError' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'RangeError' in that specification.
Standard  
ECMAScript Latest Draft (ECMA-262)
The definition of 'RangeError' in that specification.
Draft  

Сумісність з веб-переглядачами

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
RangeErrorChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 5.5Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes

Legend

Full support  
Full support

Див. також