Er

Erros em JavaScript

19 exercícios

Sobre Erros

Os erros são úteis para reportar quando algo está errado ou inesperado num programa ou num excerto de código.

São objetos JavaScript.

A principal propriedade deste objeto é message:

const error = new Error('Oops, something went wrong');

console.log(error.message);
// => "Oops, something went wrong"

Com a sintaxe throw, podes lançar um erro.

throw new Error('Oops');

Quando um erro é lançado, a execução atual é interrompida e retoma no primeiro bloco catch da pilha de chamadas.

try {
  throw new Error('Oops');
} catch (error) {
  console.log(error.message);
  // => "Oops"
}

Tal como acontece com qualquer classe em JavaScript, as subclasses podem herdar de Error para criar erros personalizados, usando a palavra-chave extends. A sintaxe instanceof verifica se o erro capturado é uma instância de uma subclasse específica de Error.

class CustomError extends Error {}

try {
  // ... Code that may throw an error
} catch (error) {
  if (error instanceof CustomError) {
    console.log('The error thrown is an instance of the CustomError');
  }
}

Tipos de erro

Além do objeto Error, existem outros objetos de erro incorporados. Podes saber mais sobre isto aqui

Erros personalizados

Também podes definir o teu próprio tipo de erro personalizado, criando uma classe que estende um dos tipos de erro incorporados

class MyCustomError extends Error {}

Lançar valores que não são erros

Embora a sintaxe throw seja normalmente usada para lançar um objeto Error, o JavaScript é flexível e permite-te lançar uma string, um null ou qualquer tipo primitivo.

Rastreios de pilha dos erros

Embora isto não seja padrão em JavaScript, a maioria dos ambientes de JavaScript implementa uma propriedade stack nos objetos Error, o que te permite obter o rastreio de pilha do erro que foi lançado.

Editar via GitHub A ligação abre numa nova janela ou separador

Aprende Erros