Exercice 136
Énoncé
Quels résultats donne ce programme lorsqu’on lui fournit comme données :
a. la valeur 1þ?
b. la valeur 2þ?
c. la valeur 3þ?
d. la valeur 4þ?
#include // pour exit
#include
using namespace std ;
main()
{ int n ; float x ; double z ;
cout << "donnez un entier : " ;
cin >> n ;
try
{ switch (n)
{ case 1 : throw n ; break ;
case 2 : x = n ; throw x ; break ;
case 3 : z = n ; throw z ; break ;
}
}
catch (int n)
{ cout << "catch entier - n = " << n << "\n" ;
}
catch (float x)
{ cout << "catch flottant - x = " << x << "\n" ;
exit (-1) ;
}
cout << "suite et fin du programme\n" ;
}
a.
donnez un entier : 1
catch entier - n = 1
suite et fin du programme
L’exception de type int levée dans le bloc try est interceptée par le gestionnaire
catch(int) qui affiche un message. On passe alors à l’instruction suivant le bloc try, qui
affiche le message suite et fin du programme.
b.
donnez un entier : 2
catch flottant - x = 2
334
Précédent

- 335/398

Suivant