Erro de tempo de execução e erro lógico são dois tipos diferentes de erros que podem ocorrer em um programa de computador.
Erro de tempo de execução Um erro de tempo de execução ocorre quando um programa está em execução e encontra um problema que o impede de continuar a execução. Isso pode ser causado por vários fatores, como:
*
Divisão por zero: Isso ocorre quando um programa tenta dividir um número por zero, o que é matematicamente indefinido.
*
Índice do array fora dos limites: Isso ocorre quando um programa tenta acessar um elemento de um array que não existe.
*
Desreferência de ponteiro nulo: Isso ocorre quando um programa tenta acessar um local de memória ao qual não foi atribuído um valor.
Erros de tempo de execução geralmente são causados por erros no código do programa, como erros de digitação ou lógica incorreta. Eles também podem ser causados por fatores externos, como falhas de energia ou mau funcionamento de hardware.
Erro lógico Um erro lógico ocorre quando um programa produz uma saída incorreta, mas não trava. Isso pode ser causado por vários fatores, como:
*
Lógica incorreta: Isso ocorre quando um programa segue um fluxo lógico incorreto, levando a uma saída incorreta.
*
Dados inválidos: Isso ocorre quando um programa usa dados incorretos ou inválidos, levando a uma saída incorreta.
*
Erro de arredondamento: Isso ocorre quando um programa usa aproximações ou cálculos de ponto flutuante, levando a pequenos erros que se acumulam ao longo do tempo e produzem resultados incorretos.
Erros lógicos costumam ser mais difíceis de encontrar e corrigir do que erros de tempo de execução, pois podem ser causados por erros sutis no código do programa ou por suposições incorretas sobre os dados.
Resumo A tabela a seguir resume as principais diferenças entre erros de tempo de execução e erros lógicos:
|
Recurso |
Erro de tempo de execução |
Erro lógico |
|---|---|---|
| Quando isso ocorre | Durante a execução | Após execução |
| Causa | Erro no código do programa, fator externo | Lógica incorreta, dados inválidos, erro de arredondamento |
| Efeito | O programa trava | Programa produz saída incorreta |
| Dificuldade de encontrar e corrigir | Geralmente mais fácil | Geralmente mais difícil |