RangeError() constructor

The RangeError() constructor creates an error when a value is not in the set or range of allowed values.


new RangeError()
new RangeError(message)
new RangeError(message, options)
new RangeError(message, fileName)
new RangeError(message, fileName, lineNumber)

RangeError(message, options)
RangeError(message, fileName)
RangeError(message, fileName, lineNumber)

Note: RangeError() can be called with or without new. Both create a new RangeError instance.


message Optional

Human-readable description of the error.

options Optional

An object that has the following properties:

cause Optional

A property indicating the specific cause of the error. When catching and re-throwing an error with a more-specific or useful error message, this property can be used to pass the original error.

fileName Optional Non-standard

The name of the file containing the code that caused the exception

lineNumber Optional Non-standard

The line number of the code that caused the exception


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 {
} 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 {
} catch (error) {
  if (error instanceof RangeError) {
    // Handle the error


ECMAScript Language Specification
# sec-nativeerror-constructors

Browser compatibility

BCD tables only load in the browser

See also