ReferenceError

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

O objeto ReferenceError representa um erro quando uma variável não existente é referenciada.

Sintaxe

new ReferenceError([message[, fileName[, lineNumber]]])

Parâmetros

message

Opcional. Descrição legível do erro.

fileName Non-standard

Opcional. O nome do arquivo contendo o código que causou a excessão.

lineNumber Non-standard

Opcional. O número da linha do código que causou a excessão.

Descrição

O ReferenceError acontece quando é feita uma tentativa de referenciar uma variável que não foi declarada.

Propriedades

ReferenceError.prototype

Permite a inclusão de propriedades em um objeto ReferenceError.

Métodos

O ReferenceError não contém métodos próprios, porém, ele herda alguns métodos através da cadeia de protótipos.

Instâncias do ReferenceError

Propriedades

unsupported templ: page

Métodos

unsupported templ: page

Exemplos

Capturando um ReferenceError

js
try {
  var a = variavelNaoDefinida;
} catch (e) {
  console.log(e instanceof ReferenceError); // true
  console.log(e.message); // "variavelNaoDefinida não está definida"
  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"
}

Criando um ReferenceError

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

Especificações

Specification
ECMAScript Language Specification
# sec-native-error-types-used-in-this-standard-referenceerror

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também