RangeError

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

Синтаксис

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

Параметри

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

Опис

Виняток 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)
    {
        // Обробити помилку
    }
}

Специфікації

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

BCD tables only load in the browser

Див. також