Er

Erros em JavaScript

19 exercícios

Sobre Erros

Os erros são úteis para relatar quando algo está errado ou inesperado em um programa ou em um trecho de código.

Eles são objetos JavaScript.

A principal propriedade desse objeto é message:

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

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

Usando a sintaxe throw, você pode lançar um Error.

throw new Error('Oops');

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

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

Assim como em 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 nativos. Você pode saber mais sobre eles aqui

Erros personalizados

Você também pode definir seu próprio tipo de erro personalizado criando uma classe que estende um dos tipos de erro nativos

class MyCustomError extends Error {}

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

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

Rastreamento de pilha de erros

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

Editar via GitHub O link abre em uma nova janela ou aba

Aprenda Erros