Onde a exceção ocorre
Sempre que executamos qualquer software, esperamos que nosso software funcione corretamente em qualquer situação. Mas em alguns casos, alguns eventos ocorrem quando o fluxo normal de execução de nosso software é interrompido. Então, quando dizemos que nosso software deve ser robusto, significa que o software funciona corretamente em qualquer situação.
Manipulação de exceção
O manuseio de exceção de C ++ é usado para lidar com a condição de erro em um programa sistematicamente, tomando a ação necessária. Usando o manuseio de exceções, podemos gerenciar e responder facilmente para o erro de tempo de execução.
Tente, pegue, jogue
Sintaxe
tentar
Catch (tipo 1 arg)
Catch (tipo 2 arg)
----------
Catch (typen arg)
Explicação
Em primeiro lugar, costumamos escrever a palavra -chave tentar. Depois de terminar o bloco de tentativa, temos que escrever pegar Bloqueie imediatamente. Podemos escrever vários blocos de captura em sequência. Mas onde tente o final do bloco, todos os blocos de captura precisam ser escritos imediatamente. Se não escrevermos o bloco de captura imediato após o bloco de tentativa, pode ocorrer um erro. Nós usamos lançar palavra -chave dentro do bloco de tentativa.
Exemplo de programação 1
# incluir
Usando namespace std;
int main ()
cout<< “ Exception Handling Program :” ;
tentar
jogar 30;
cout<< “ \n Try ” ;
Catch (int e)
cout<< “ \n Exception no : ” << e ;
cout<< “ \n Testing The Last Line ” ;
Saída
Explicação de programação
Neste exemplo de programação, estamos tentando mostrar como a exceção ocorre e como lidar com isso. Dentro da função principal depois de escrever uma declaração de saída que usamos tentar bloquear. Lançar A palavra -chave é usada dentro do bloco de tentativa. Após o arremesso de palavras -chave, usamos um número 30. Pode ser uma corda, ou um duplo ou um flutuador- qualquer constante que possamos usar. Então escrevemos uma declaração cout. Mas essa linha não pode ser executada após a execução de arremesso. Depois de terminar o bloco de tentativa, escrevemos o bloco de captura imediatamente. Dentro do bloco de captura, escrevemos a linha (int e). Com a ajuda da palavra -chave de arremesso qual valor jogamos, esse valor entrará dentro da variável E. Depois de terminar o bloco de captura, escrevemos uma declaração de saída “\ n testando a última linha”. Agora, a questão é quando essa linha será executada após a declaração de saída dentro do bloco de captura?
Regras de tentativa, captura e bloqueio
Exemplo de programação 2
# incluir
Usando namespace std;
int main ()
cout<< “ Exception Handling Program :” ;
tentar
se (i == 1)
jogue 1;
if (i == 2)
jogue 2;
if (i == 3)
jogue 3;
cout<< “ \n Try ” ;
Catch (duplo e)
cout<< “ \n Exception no : ” << e ;
Catch (int e)
cout<< “ \n Exception no : ” << e ;
cout<< “ \n Testing The Last Line ” ;
Saída
f. Podemos escrever declarações de arremesso múltiplas em um único bloco de tentativa.
Exemplo de programação 3
# incluir
usando namespace std;
int main ()
int i = 3;
cout<< “ Exception Handling Program :” ;
tentar
se (i == 1)
jogue 1;
if (i == 2)
jogue 2;
if (i == 3)
jogue 3;
cout<< “ \n Try ” ;
Catch (int e)
cout<< “ \n Exception no : ” << e ;
cout<< “ \n Testing The Last Line ” ;
Saída
g. Podemos escrever uma declaração de arremesso dentro de um bloco de tentativa sem dar nenhum valor de arremesso.
Exemplo de programação 4
# incluir
usando namespace std;
int main ()
cout<< “ Exception Handling Program :” ;
int i = 3;
tentar
if (i == 3)
lançar ;
cout<< “ \n Try ” ;
Catch (int)
cout<< “ \n Exception no : ” ;
cout<< “ \n Testing The Last Line ” ;
Saída
Explicação
Aqui escrevemos a palavra -chave Throw sem dar nenhum valor, então o programa será encerrado porque o manuseio adequado de exceção não ocorre aqui. Como resultado, o bloco de captura não será executado. No tempo de compilação, não haverá erro. Mas, no tempo de execução, o programa será encerrado com uma mensagem "terminando chamado sem uma exceção ativa".
Conclusão
Discutindo em detalhes sobre o manuseio de exceções, aprendemos aqui que, se ocorrer alguma situação anormal em nosso programa, o programa terá que estar pronto para gerenciar essa situação anormal.