The RangeError
object indicates an error when a value is not in the set or range of allowed values.
The RangeError
object indicates an error when a value is not in the set or range of allowed values.
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:
String.prototype.normalize()
, orArray
constructor, orNumber.prototype.toExponential()
, Number.prototype.toFixed()
or Number.prototype.toPrecision()
.RangeError
is a serializable object, so it can be cloned with structuredClone()
or copied between Workers using postMessage()
.
RangeError()
Creates a new RangeError
object.
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
.
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 } }
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 } }
Specification |
---|
ECMAScript Language Specification # sec-native-error-types-used-in-this-standard-rangeerror |
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 |
© 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