W3cubDocs

/JavaScript

RangeError

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

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:

RangeError is a serializable object, so it can be cloned with structuredClone() or copied between Workers using postMessage().

Constructor

RangeError()

Creates a new RangeError object.

Instance properties

RangeError.prototype.message

Error message. Inherited from Error.

RangeError.prototype.name

Error name. Inherited from Error.

RangeError.prototype.cause

Error cause. Inherited from Error.

RangeError.prototype.fileName Non-standard

Path to file that raised this error. Inherited from Error.

RangeError.prototype.lineNumber Non-standard

Line number in file that raised this error. Inherited from Error.

RangeError.prototype.columnNumber Non-standard

Column number in line that raised this error. Inherited from Error.

RangeError.prototype.stack Non-standard

Stack trace. Inherited from Error.

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)) {
    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 compatibility

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet Deno Node.js
RangeError
1
12
1
5.5
5
1
4.4
18
4
10.1
1
1.0
1.0
0.10.0
RangeError
1
12
1
5.5
5
1
4.4
18
4
10.1
1
1.0
1.0
0.10.0
serializable_object
77
79
103
["Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.", "Version 104 also serializes stack in window.postMessage() and structuredClone()."]
No
64
No
77
77
103
["Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.", "Version 104 also serializes stack in window.postMessage() and structuredClone()."]
55
No
12.0
No
No

See also

© 2005–2022 MDN 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