Sintaxe, semântica e erros de programação

Distinguir erros de sintaxe, execução e lógica e aprender a ler mensagens de diagnóstico.

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 → TESTAR

Exemplo 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.