Todo programador, do iniciante ao sênior, passa boa parte do tempo lidando com erros. A diferença é que quem tem experiência não entra em pânico: lê a mensagem, levanta hipóteses e testa. Esse método pode ser aprendido, e ele transforma a frustração em investigação.
Os três tipos de erro
Saber a que categoria o problema pertence já indica onde procurar.
Erros de sintaxe
Violam as regras da linguagem: parêntese não fechado, dois-pontos esquecido, aspas faltando, indentação errada em Python. O programa nem começa a rodar, e a mensagem costuma apontar a linha, ou a linha seguinte à do problema real.
Erros de execução
O código está bem escrito, mas falha durante o uso: dividir por zero, acessar uma variável que não existe, abrir um arquivo ausente, usar algo vazio como se tivesse valor. O programa para e mostra o erro.
Erros de lógica
O programa roda sem reclamar, mas o resultado está errado, como calcular o desconto sobre o valor errado. São os mais traiçoeiros, porque não há mensagem. Só testes e raciocínio os revelam.
Como ler uma mensagem de erro
A mensagem parece assustadora, mas costuma trazer três informações:
- O tipo do erro, como SyntaxError, TypeError, NameError ou ReferenceError.
- A descrição, que diz em palavras o que houve, como “variável não definida” ou “não é possível somar texto e número”.
- O local, com o nome do arquivo e o número da linha.
Quando aparece uma lista de várias linhas (chamada de stack trace ou rastreio de pilha), ela mostra o caminho percorrido pelo programa até o erro. Em Python, a causa direta fica na última linha da mensagem, e o local logo acima. Em JavaScript, a mensagem vem primeiro e as linhas de rastreio descem a partir do ponto onde o erro ocorreu. O formato varia entre linguagens e ferramentas, mas a regra é a mesma: leia com calma, do começo ao fim.
O método da investigação
Siga uma sequência fixa em vez de mexer no código ao acaso:
- Reproduza o problema. Descubra o que você faz para o erro aparecer. Se ele não é reproduzível, é muito mais difícil de resolver.
- Leia a mensagem e vá até a linha indicada.
- Isole. Comente ou remova partes até achar o menor trecho que ainda falha.
- Levante uma hipótese, como “esta variável está vazia”.
- Teste a hipótese com uma ferramenta de depuração.
- Corrija uma coisa de cada vez e teste de novo. Várias mudanças juntas escondem o que funcionou.
- Entenda a causa, não só o remendo. Pergunte: por que isso aconteceu?
Ferramentas simples de depuração e pesquisa
Mostrar valores na tela
A técnica mais básica e eficaz: imprimir o valor de variáveis em pontos estratégicos. Em Python, com print; em JavaScript, com console.log. Isso mostra se o programa passa por onde você espera e quais valores ele carrega. Depois de resolver, remova os prints extras.
Breakpoints e o depurador
Editores como o VS Code têm um depurador embutido. Você marca uma linha com um breakpoint (ponto de parada), executa o programa em modo de depuração e ele pausa ali. Nesse momento dá para ver o valor de cada variável e avançar linha por linha. É uma forma poderosa de entender o que realmente acontece.
Rubber duck debugging
Explique o código, linha por linha, em voz alta para um objeto (tradicionalmente, um patinho de borracha). Ao verbalizar, você percebe suposições erradas. Parece brincadeira e funciona.
Controle de versão
Se o programa funcionava e quebrou, o Git ajuda a ver o que mudou desde a última vez em que ele funcionava. Veja o básico em Git e GitHub para iniciantes.
Como pesquisar o erro
- Copie a mensagem principal, sem caminhos de pastas pessoais nem dados sensíveis.
- Acrescente o nome da linguagem ou da ferramenta e, se fizer sentido, a biblioteca.
- Prefira fontes confiáveis: a documentação oficial, fóruns de perguntas e respostas conhecidos e repositórios do projeto.
- Confira data e versão. Uma resposta antiga pode não valer mais.
- Teste a solução em pequeno antes de aplicar no projeto inteiro.
Erros clássicos de iniciantes
- Esquecer de fechar parênteses, chaves ou aspas.
- Errar maiúsculas e minúsculas em nomes de variáveis e arquivos.
- Em Python, misturar espaços e tabulações ou errar a indentação.
- Usar uma variável antes de ela receber um valor.
- Confundir o sinal de atribuição com o de comparação.
- Somar texto com número sem converter.
- Salvar o arquivo e esquecer de recarregar a página ou reiniciar o programa.
- Mexer no arquivo errado ou numa cópia antiga.
Peça ajuda e cuide da cabeça
Peça ajuda do jeito certo
Se depois de investigar você continuar travado, peça ajuda com um bom relato: o que você queria fazer, o que tentou, a mensagem de erro completa e o menor trecho de código que reproduz o problema. Assistentes de IA também ajudam a explicar erros, mas nunca cole senhas, chaves ou dados pessoais, e confirme se a explicação faz sentido. Veja mais em como usar IA para programar.
Cuide da cabeça
Depois de duas horas olhando o mesmo erro, a atenção cai. Levante, beba água, caminhe e volte. Muitos bugs se resolvem sozinhos depois de um intervalo, porque você olha para o problema com outra perspectiva.
Para treinar
Quebre propositalmente um programa simples, esquecendo um parêntese, trocando um nome e dividindo por zero, e leia cada mensagem. Reconhecer o erro quando você sabe a causa treina o olho para quando não souber.