Nesta página
  1. A primeira linha
  2. A pilha diz onde, de baixo para cima
  3. O que não fazer

Como ler uma mensagem de erro

2 minjavascriptdebug

Um erro não é um castigo. É um relatório curto. Quem lê a primeira linha e o arquivo citado resolve mais rápido do que quem apaga código até o vermelho sumir.

A primeira linha

Este programa parece inocente. pessoa existe. O problema é o valor dela.

perfil.js · javascript
const pessoa = null;
console.log(pessoa.nome);

No navegador e no Node a mensagem é esta: TypeError: Cannot read properties of null (reading 'nome'). Traduzindo: o programa tentou ler nome de um valor que é null. Não é o console.log que quebrou. É o ponto depois de pessoa.

A pilha diz onde, de baixo para cima

Embaixo da mensagem vem a pilha. A primeira linha da pilha é o ponto em que o valor estourou. As de baixo são quem chamou essa função. Comece pela de cima. Só desça se o erro nasceu num arquivo que você não escreveu.

  1. Leia o tipo e a frase. O que o programa tentou fazer, e com qual valor.
  2. Abra o arquivo e a linha citados na primeira entrada da pilha.
  3. Confira o valor de verdade, com um console.log antes da linha que quebra, ou no depurador.
  4. Corrija essa causa. Rode de novo. Se aparecer outro erro, é outro relatório.

O que não fazer

Não envolva a linha num try/catch vazio para o erro sumir da tela. Ele continua acontecendo, só que agora sem relatório. Não troque null por {} sem saber por que a pessoa não chegou. O objeto vazio esconde o buraco e o próximo pessoa.nome vira undefined em silêncio.

Se a pessoa pode não existir, o código precisa decidir o que mostrar nesse caso. A mensagem de erro já te contou qual é o caso.