Comment implémenter la gestion des exceptions en C ++?



Cet article vous aidera à comprendre ce qu'est la gestion des exceptions et comment implémenter la gestion des exceptions en C ++ avec une démonstration pratique.

Exceptions sont des conditions anormales pendant l'exécution ou la compilation. est un concept très essentiel en c ++. Cet article vous présentera la gestion des exceptions en C ++ avec ses différents types.

Les pointeurs suivants seront traités dans cet article,





Alors commençons alors,

Gestion des exceptions en C ++

Types d'exceptions

Il existe deux types d'exceptions,



Exception de temps d'exécution

Il s'agit d'une exception interceptée pendant l'exécution.

Exception à la compilation



Il s'agit d'une exception interceptée lors de la compilation.

Passant à cet article sur la gestion des exceptions en C ++,

Qu'est-ce que la gestion des exceptions?

Les erreurs perturbent l'exécution normale d'un programme. La gestion des exceptions est très nécessaire et c'est le processus de gestion des erreurs ou des exceptions. Il s'assure que l'exécution du programme n'est pas affectée par les exceptions et les gère lentement sans causer de problème à l'exécution du programme.

Lorsque vous considérez la gestion des exceptions, trois termes y sont associés,

Essayer

Le code à l'intérieur de ce bloc est comme un code d'essai, qui peut lever une exception. Cette exception est interceptée dans le bloc catch.

Capture

Le code de ce bloc est exécuté lorsque le code des blocs try lève une exception.

Jeter

Ce mot clé est utilisé pour lever une exception lorsqu'elle est rencontrée. L'exception est envoyée au gestionnaire d'exceptions.

Syntaxe:

Le code à l'intérieur du bloc try est exécuté. Si une erreur est générée, le mot-clé throw lève l'exception au gestionnaire d'exceptions, c'est-à-dire le bloc catch. Le bloc catch a ensuite exécuté le code, qui se trouve à l'intérieur de son bloc, gérant ainsi l'exception.

Jetons un coup d'œil à un exemple de code pour la gestion des exceptions en C ++

Exemple de code

#include using namespace std try {// code pour try throw & ldquoexception & rdquo} catch (exception) {// code pour catch} int main () {int x = 1 try {cout<< 'Try Block: '<

Production:

Sortie - Gestion des exceptions en C ++ - Edureka

Explication

Ce programme illustre la gestion des exceptions. Nous avons une variable x, qui a la valeur 1. Ensuite, nous avons le début du bloc try. Dans ce bloc, nous avons une instruction if avec la condition x<10.

Dans notre cas, la condition est vraie car x est un. Le programme lève ensuite une exception et le contrôle passe au bloc catch. Nous exécutons la condition dans la partie catch et sortons du bloc.

qu'est-ce que init en python
catch (...) { cout<< 'Default Exceptionn'<

Enfin, nous exécutons les instructions restantes après le bloc catch et sortons du programme.

Il peut y avoir plusieurs instructions catch, en fonction du nombre d'exceptions possibles.

Passant à cet article sur la gestion des exceptions en C ++,

Échec du blocage de capture

Considérons le programme précédent, si au lieu de x le mot-clé throw lance «ABC» alors, la fonction catch ne pourra pas le gérer. Il affichera une erreur,

Nous pouvons voir notre message d'erreur gagné dans ce cas.

Pour résoudre ce problème, nous devons ajouter une fonction catch par défaut au code pour gérer ces problèmes.

#include en utilisant l'espace de noms std int main () {int x = 1 try {cout<< 'Try Block: '<

Sortie:

Explication:

Ce code est similaire au précédent. Le seul changement est que l'exception lancée est de type char. Il en résulte que notre fonction catch est inutile. Nous avons donc inclus une fonction catch par défaut.

Si aucune des instructions catch ne correspond, alors la capture par défaut est exécutée.

Blocs de capture multiples

Il peut y avoir plusieurs blocs catch d'un même bloc try.

Voici un exemple,

#include en utilisant l'espace de noms std int test (int a) {try {if (a<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<

Production:

Explication:

Dans le code ci-dessus, nous utilisons plusieurs instructions catch. Nous avons un test de fonction qui génère une exception. Dans le premier cas de test, la valeur est 10. Puisque 10 est supérieur à zéro, «a» le caractère est lancé et il est capturé par la deuxième fonction catch.

Dans le second cas, la valeur est inférieure à 0 donc la valeur -1 est levée et elle est interceptée par une exception entière

__en soi)

Gestion des exceptions dans la classe de base et dérivée:

Si les exceptions de classe de base et dérivée sont interceptées, la capture de la classe dérivée doit être exécutée avant la classe de base.

Voici quelques exceptions:

  • std :: exception

  • erreur_logique

  • erreur d'exécution

  • bad_alloc

  • bad_cast

  • mauvaise_exception

Avec cela, nous arrivons à la fin de ce blog sur «Gestion des exceptions en C ++». J'espère que vous avez trouvé cela informatif et utile, restez à l'écoute pour plus de tutoriels sur des sujets similaires.Vous pouvez également consulter notre programme de formation to obtenir des connaissances approfondies sur jQuery ainsi que ses différentes applications, vous pouvez pour une formation en ligne en direct avec une assistance 24/7 et un accès à vie.

Vous avez une question pour nous? Mentionnez-les dans la section commentaires de ce blog et nous vous recontacterons.