Erros de programa geralmente incluem: erros de sintaxe , erros de lógica e anormalidades operacionais .
Os seguintes são introduzidos respectivamente:
1. Erro de sintaxe:
Escusado será dizer que todos devem saber, por meio de estudos anteriores, que se o código do programa não atender aos requisitos gramaticais, o compilador apresentará um erro durante a compilação e a vinculação, o que é fácil de encontrar.
2. Erros lógicos:
Neste caso, significa que não há problemas de compilação, nem erros, e pode ser executado. No entanto, o resultado de saída ou o processo de execução do programa não é o esperado e não pode atingir os resultados esperados. Esse tipo de erro é chamado de erro lógico e requer depuração e testes contínuos para ser descoberto.
3. Anormalidade de operação:
Exceção de execução (exceção) refere-se ao encerramento anormal do programa devido a circunstâncias inesperadas durante o processo de execução, como memória insuficiente, arquivos abertos que não existem, divisão por 0, etc.
Já conhecemos os dois primeiros, e o terceiro é o que explicaremos detalhadamente neste capítulo. Em circunstâncias normais, embora os erros de exceção do programa não possam ser evitados, eles podem ser antecipados e o processamento preditivo pode ser realizado para evitar falhas no programa e garantir a robustez do programa. Esse comportamento é chamado de tratamento de exceções .
Em estudos anteriores, temos muitas maneiras de capturar e lidar com exceções, como avaliar o valor de retorno da função de chamada por meio de if...else ou verificar os dados principais antes de executar o código, etc. ) ou funções abort() para encerrar o programa.
por exemplo:
cin>>a>>b;if(b==0)//Captura exceção{cout<<Drivide0!<<endl;}else{cout<<a<</<<b<<=a/b<< fim;}
Como você pode ver, em estudos anteriores, muitas vezes usamos if para fazer julgamentos para capturar e prevenir partes importantes. No entanto, esse método muitas vezes torna o programa menos legível devido a muitos julgamentos if durante o uso e quando é necessário. determinar o valor de retorno de uma função, somos impotentes para aquelas funções que não retornam um valor. Por esse motivo, C++ nos fornece uma solução de tratamento de exceções.