A programação é uma atividade complexa na qual é normal a ocorrência de erros. Alguns erros podem nem ser percebidos por você como tal, por exemplo, erros sintáticos onde o motivo pode ser apenas um erro de digitação.
Resumo
- Erros de tempo de compilação são relatados pelo compilador e geralmente são fáceis de corrigir.
- Erros de tempo de execução, também conhecidos como “bugs”, são mais desagradáveis e podem ter consequências graves.
- Erros esporádicos não ocorrem sempre que um programa é executado e são difíceis de encontrar.
- No desenvolvimento de software profissional, é importante testar sistematicamente os programas em busca de erros de tempo de execução.
Erro em tempo de compilação (tempo de compilação)
Erros relatados pelo compilador geralmente são muito fáceis de corrigir. Dependendo da linguagem de programação e do erro, o compilador geralmente fornece o número da linha em que o erro está localizado e uma breve descrição que pode ser útil adicionalmente. “Possivelmente” porque as mensagens de erro às vezes podem ter muito pouco significado.
Os compiladores são projetados para passar por uma fase de análise de vários estágios. Dependendo da fase em que ocorre o erro, pode-se distinguir entre erros lexicais, sintáticos ou semânticos. No entanto, esta distinção é irrelevante para você como programador.
Erros de tempo de execução – bugs
Erros que ocorrem em tempo de execução são muito mais desagradáveis do que erros em tempo de compilação. Esses erros são mais conhecidos como “bugs”. O código a seguir ilustra um possível erro de tempo de execução.
Exemplo de divisão por zero
int DoExampleCalculation(int parameter1, int parameter2)
{
// this is an example calculation
// may cause a divide by zero runtime error
return parameter1 / parameter2;
}
Se esta função for chamada e 0 for passado como segundo parâmetro, ocorre a divisão por zero e o comportamento do programa neste caso fica indefinido (provavelmente irá travar). O erro neste exemplo é muito fácil de encontrar, especialmente se ocorrer durante a depuração. Porém, erros esporádicos que não ocorrem toda vez que o programa é executado são muito mais difíceis de encontrar. No entanto, esses erros geralmente só aparecem com o uso de técnicas avançadas, como multithreading.
Erros na prática de programação
Na prática, é muito raro que erros em tempo de compilação se tornem um grande problema. Os erros de tempo de execução, por outro lado, podem ser catastróficos, especialmente se ocorrerem apenas quando o usuário ou cliente estiver usando o programa de forma produtiva. É por isso que é muito importante no desenvolvimento de software profissional testar sistematicamente os programas escritos em busca de erros de tempo de execução.
O artigo foi útil para você? Se sim, ajude-nos e compartilhe!
FAQ: Perguntas frequentes
Os tipos de erros de programação incluem erros em tempo de compilação, erros em tempo de execução e erros esporádicos.
Erros de tempo de compilação são relatados pelo compilador e geralmente são fáceis de corrigir. O compilador geralmente fornece o número da linha e uma breve descrição do erro.
Erros de tempo de execução, também conhecidos como “bugs”, ocorrem durante a execução do programa. Eles podem ter consequências graves e são mais desagradáveis que erros em tempo de compilação.
Erros esporádicos não ocorrem sempre que um programa é executado e são difíceis de encontrar. Eles podem ocorrer principalmente com técnicas avançadas, como multithreading.
No desenvolvimento de software profissional, é importante testar sistematicamente os programas em busca de erros de tempo de execução, pois os erros de tempo de execução podem ter consequências catastróficas, especialmente se ocorrerem apenas durante o uso produtivo pelo usuário.