Les exceptions en C++
 

Les exceptions, introduites au départ dans le langage ADA, sont un moyen très efficace de traiter les erreurs. Il ne faut cependant pas en abuser car :

Exemple:
 

Dans l'exemple suivant, nous allons voir les possibilités des exceptions qui vont nous permettre ici de sortir en catastrophe d'une boucle et de deux fonctions:
 
 

#include <iostream>

using namespace std;

enum exception2 {Erreur1,Erreur2};

void procedure2() throw (exception2)
{
int n=20,catastrophe1=0,catastrophe2=0;
  for(int i=0;i<n;i++)
 {
     if (catastrophe1) throw Erreur1;
     if (catastrophe2) throw Erreur2;
     if (10==i) catastrophe1=1;
     cout <<i <<endl;
  }
return;
}

void procedure1() { procedure2(); return; }

int main()
{

  try
 {
   procedure1();
  }
  catch (exception2 e)
  {
      if (e==Erreur1) cout << "Erreur1 a l'interieur de procedure2\n";
      if (e==Erreur2) cout << "Erreur2 a l'interieur de procedure2\n";
   }
return 0;
}

Drupal 7 Appliance - Powered by TurnKey Linux