CSI2772 - Concepts avancés de programmation en C++

Version Imprimable

IV - Le traitement des exceptions

1. Les classes d'exceptions standards


2. La méthode rudimentaire

Utiliser des codes d'erreur:

Cette approche rend le code lourd et difficile à debugger.

Haut de la page

3. Le traitement des exceptions

3.1. Signaler une exception

throw ex;

On peut lancer n'importe quoi, notamment des objets et des entiers. Il n'est pas nécessaire que l'objet lancé soit une sous-classe d'exceptions.

3.2. Définir des exceptions

3.3. Attraper des exceptions

3.4. Déclarer qu'une fonction ou méthode peut lancer une exception

En C++, une fonction ou méthode qui ne déclare pas d'exception peut lancer n'importe quelle exception. Un throw n'est donc pas obligé d'appeler une fonction lançant des exceptions.

Si une fonction ou méthode déclare des exceptions, elles ne peut lancer que celles-ci. Si une autre exception est lancée, la fonction standard unexpected est appelée.

Le code produit par le compilateur est moins efficace lorsque des exceptions sont utilisées.

Exemple


Haut de la page

4. Le casting

L'exemple suivant utilise les classes forme.h et triangle.h.

Haut de la page

Collaboratrices: Emilie Lavigne et Sophie-Catherine Jeaurond