W3cubDocs

/JavaScript

RangeError

The RangeError object indicates an error when a value is not in the set or range of allowed values.

Syntax

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

Parameters

message
Optional. Human-readable description of the error
fileName
Optional. The name of the file containing the code that caused the exception
lineNumber
Optional. The line number of the code that caused the exception

Description

A RangeError is thrown when trying to pass a value as an argument to a function that does not allow a range that includes the value. This can be encountered when passing a value that is not one of the allowed string values to String.prototype.normalize(), or when attempting to create an array of an illegal length with the Array constructor, or when passing bad values to the numeric methods Number.toExponential(), Number.toFixed() or Number.toPrecision().

Properties

RangeError.prototype
Allows the addition of properties to an RangeError object.

Methods

The global RangeError contains no methods of its own, however, it does inherit some methods through the prototype chain.

RangeError instances

Properties

RangeError.prototype.constructor
Specifies the function that created an instance's prototype.
RangeError.prototype.message
Error message. Although ECMA-262 specifies that RangeError should provide its own message property, in SpiderMonkey, it inherits Error.prototype.message.
RangeError.prototype.name
Error name. Inherited from Error.
RangeError.prototype.fileName
Path to file that raised this error. Inherited from Error.
RangeError.prototype.lineNumber
Line number in file that raised this error. Inherited from Error.
RangeError.prototype.columnNumber
Column number in line that raised this error. Inherited from Error.
RangeError.prototype.stack
Stack trace. Inherited from Error.

Methods

Although the RangeError prototype object does not contain any methods of its own, RangeError instances do inherit some methods through the prototype chain.

Examples

Using RangeError (for numeric values)

function check(n)
{
    if(!(n >= -500 && n <= 500))
    {
        throw new RangeError("The argument must be between -500 and 500.");
    }
}

try
{
    check(2000);
}
catch(error)
{
    if(error instanceof RangeError)
    {
        // Handle the error.
    }
}

Using RangeError (for non-numeric values)

function check(value)
{
    if(["apple", "banana", "carrot"].includes(value) === false)
    {
        throw new RangeError("The argument must be an \"apple\", \"banana\", or \"carrot\".");
    }
}

try
{
    check("cabbage");
}
catch(error)
{
    if(error instanceof RangeError)
    {
        // Handle the error.
    }
}

Specifications

Browser compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
Basic support Yes Yes 1 Yes Yes Yes
Mobile
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support Yes Yes Yes 4 Yes Yes Yes
Server
Node.js
Basic support Yes

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError