O tipo de erros que produzem resultados indesejados ou inesperados são geralmente categorizados como erros de tempo de execução  .  
 Aqui está um detalhamento dos diferentes tipos de erros e sua relação com resultados inesperados:  
 1. Erros de tempo de execução:  - Esses erros ocorrem durante a execução de um programa. 
 - Eles geralmente são imprevisíveis e podem levar a comportamentos inesperados, falhas ou saída incorreta. 
 - Exemplos:
 - Divisão 
 por zero: Tentando dividir um número por zero. 
 - 
 Matriz dos limites: Acessando um elemento em uma matriz que não existe. 
 - 
 Exceção de ponteiro nulo: Tentando usar uma variável que aponta para nada (nulo). 
 - 
 Exaustão do recurso: Ficando sem memória ou outros recursos.   
 2. Erros lógicos:  - Esses são erros na lógica do programa que não necessariamente fazem com que o programa trava, mas resulte em saída incorreta. 
 - Eles geralmente são mais difíceis de detectar porque o programa funciona sem erros. 
 - Exemplo:um cálculo que usa a fórmula errada ou uma declaração condicional que avalia incorretamente.   
 3. Erros de sintaxe:  - Esses erros ocorrem quando o código do programa é escrito incorretamente, violando as regras de sintaxe da linguagem de programação. 
 - Eles geralmente são capturados pelo compilador ou intérprete antes que o programa possa executar. 
 - Exemplo:semicolons ausentes, parênteses incompatíveis ou palavras -chave com ortografia.   
 4. Erros de compilação:  - Esses erros são detectados durante o processo de compilação e impedem que o programa seja compilado com sucesso. 
 - Eles geralmente resultam de erros de sintaxe ou de outras violações das regras do idioma.   
 em resumo: Os erros de tempo de execução têm maior probabilidade de causar resultados indesejados ou inesperados porque ocorrem durante a execução do programa. Os erros lógicos também podem levar a saídas incorretas, mas podem ser mais difíceis de identificar. Os erros de sintaxe e compilação geralmente são detectados antes que o programa possa ser executado.