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 (ECMA-262)
The definition of 'NativeError constructor' in that specification.

Browser compatibility

BCD tables only load in the browser

See also