Lorsque l'exception se produit
Chaque fois que nous exécutons un logiciel, nous nous attendons à ce que notre logiciel fonctionne correctement dans n'importe quelle situation. Mais dans certains cas, certains événements se produisent lorsque le flux normal d'exécution de notre logiciel est arrêté. Ainsi, lorsque nous disons que notre logiciel doit être robuste, cela signifie que le logiciel fonctionne correctement dans n'importe quelle situation.
Gestion des exceptions
La gestion des exceptions C ++ est utilisée pour gérer systématiquement la condition d'erreur dans un programme en prenant l'action nécessaire. En utilisant la gestion des exceptions, nous pouvons facilement gérer et répondre à l'erreur de temps d'exécution.
Essayez, attrapez, jetez
Syntaxe
essayer
Catch (type1 arg)
Catch (type2 arg)
----------
Catch (typen arg)
Explication
Premièrement, nous utilisons pour écrire le mot-clé essayer. Après avoir terminé le bloc d'essai, nous devons écrire attraper Bloquer immédiatement. Nous pouvons écrire plusieurs blocs de capture en séquence. Mais où essaie la fin du bloc, tous les blocs de capture doivent être écrits immédiatement. Si nous n'écrivons pas le bloc de capture immédiat après le bloc d'essai, une erreur peut se produire. Nous utilisons lancer mot-clé à l'intérieur du bloc d'essai.
Exemple de programmation 1
# inclure
Utilisation de Namespace Std;
int main()
couter<< “ Exception Handling Program :” ;
essayer
lancer 30;
couter<< “ \n Try ” ;
catch (int e)
couter<< “ \n Exception no : ” << e ;
couter<< “ \n Testing The Last Line ” ;
Sortir
Explication de programmation
Dans cet exemple de programmation, nous essayons de montrer comment l'exception se produit et comment la gérer. À l'intérieur de la fonction principale après avoir écrit une instruction de sortie que nous utilisons essayer bloc. Lancer Le mot-clé est utilisé à l'intérieur du bloc d'essai. Après le mot-clé, nous utilisons un numéro 30. Il peut s'agir d'une chaîne, ou d'un double ou d'un flotteur - n'importe quelle constante que nous pouvons utiliser. Ensuite, nous écrivons une instruction COUT. Mais cette ligne ne peut pas être exécutée après l'exécution de lancer. Après avoir terminé le bloc d'essai, nous écrivons immédiatement le bloc de capture. À l'intérieur du bloc de capture, nous écrivons la ligne (int e). À l'aide du mot-clé de lancer de la valeur que nous jetons, cette valeur se produira à l'intérieur de la variable E. Après avoir terminé le bloc de capture, nous écrivons une instruction de sortie «\ n test la dernière ligne». Maintenant, la question est de savoir quand cette ligne sera exécutée après l'instruction de sortie dans le bloc de capture?
Règles d'essai, de prise et de blocage
Exemple de programmation 2
# inclure
Utilisation de Namespace Std;
int main()
couter<< “ Exception Handling Program :” ;
essayer
si (i == 1)
lancer 1;
si (i == 2)
lancer 2;
si (i == 3)
lancer 3;
couter<< “ \n Try ” ;
catch (double e)
couter<< “ \n Exception no : ” << e ;
catch (int e)
couter<< “ \n Exception no : ” << e ;
couter<< “ \n Testing The Last Line ” ;
Sortir
F. Nous pouvons écrire plusieurs instructions de lancer dans un seul bloc d'essai.
Exemple de programmation 3
# inclure
Utilisation de Namespace Std;
int main()
int i = 3;
couter<< “ Exception Handling Program :” ;
essayer
si (i == 1)
lancer 1;
si (i == 2)
lancer 2;
si (i == 3)
lancer 3;
couter<< “ \n Try ” ;
catch (int e)
couter<< “ \n Exception no : ” << e ;
couter<< “ \n Testing The Last Line ” ;
Sortir
g. Nous pouvons écrire une déclaration de lancer dans un bloc d'essai sans donner de valeur de lancer.
Exemple de programmation 4
# inclure
Utilisation de Namespace Std;
int main()
couter<< “ Exception Handling Program :” ;
int i = 3;
essayer
si (i == 3)
lancer ;
couter<< “ \n Try ” ;
catch (int)
couter<< “ \n Exception no : ” ;
couter<< “ \n Testing The Last Line ” ;
Sortir
Explication
Ici, nous écrivons un mot-clé à lancer sans donner de valeur, alors le programme sera terminé parce que la gestion appropriée des exceptions ne se produit pas ici. En conséquence, Catch Block ne sera pas exécuté. Dans le temps de compilation, il n'y aura pas d'erreur. Mais en temps d'exécution, le programme sera terminé avec un message «Terminer appelé sans exception active».
Conclusion
Discutant en détail de la gestion des exceptions, nous apprenons ici que si une situation anormale se produit dans notre programme, le programme devra être prêt à gérer cette situation anormale.