Sintaxe, semântica e erros de programação
Objetivo
Distinguir erros de sintaxe, execução e lógica e aprender a ler mensagens de diagnóstico.
Conceitos essenciais
Sintaxe
Define quais construções são estruturalmente válidas na linguagem.
Semântica
Define significado/comportamento das construções. Um programa pode ser sintaticamente válido e logicamente errado.
Erro de execução
O código pode ser válido, mas falhar ao operar com determinados dados, recursos ou estados.
Stack trace
Runtimes frequentemente mostram arquivo, linha, tipo de exceção e cadeia de chamadas. Ler a mensagem inteira é uma habilidade central.
Método de diagnóstico
Reproduzir, localizar, formular hipótese, alterar de forma controlada e testar novamente é melhor que apagar trechos aleatoriamente.
Modelo mental
ERRO → LER → LOCALIZAR → HIPÓTESE → ALTERAÇÃO CONTROLADA → TESTARExemplo e demonstração
Este código é sintaticamente válido, mas falha em tempo de execução pela divisão por zero.
def dividir(a, b):
return a / b
print(dividir(10, 0))Experimento / prática
- Crie propositalmente um erro de sintaxe simples e observe arquivo/linha.
- Corrija e depois crie uma divisão por zero.
- Explique a diferença para um erro lógico como somar desconto em vez de subtrair.
Erros comuns
- Tratar mensagem de erro como texto inútil.
- Confundir erro lógico com sintaxe inválida.
Resumo
Ao concluir esta aula, revise o modelo mental e tente explicá-lo com suas próprias palavras antes de avançar.