ReferenceError() constructor

The ReferenceError object represents an error when a non-existent variable is referenced.

Syntax

new ReferenceError()
new ReferenceError(message)
new ReferenceError(message, fileName)
new ReferenceError(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

Examples

Catching a ReferenceError

try {
  let a = undefinedVariable
} catch (e) {
  console.log(e instanceof ReferenceError)  // true
  console.log(e.message)                    // "undefinedVariable is not defined"
  console.log(e.name)                       // "ReferenceError"
  console.log(e.fileName)                   // "Scratchpad/1"
  console.log(e.lineNumber)                 // 2
  console.log(e.columnNumber)               // 6
  console.log(e.stack)                      // "@Scratchpad/2:2:7\n"
}

Creating a ReferenceError

try {
  throw new ReferenceError('Hello', 'someFile.js', 10)
} catch (e) {
  console.log(e instanceof ReferenceError)  // true
  console.log(e.message)                    // "Hello"
  console.log(e.name)                       // "ReferenceError"
  console.log(e.fileName)                   // "someFile.js"
  console.log(e.lineNumber)                 // 10
  console.log(e.columnNumber)               // 0
  console.log(e.stack)                      // "@Scratchpad/2:2:9\n"
}

Specifications

Specification
ECMAScript Language Specification (ECMAScript)
# sec-nativeerror-constructors

Browser compatibility

BCD tables only load in the browser

See also