3.2. Définir des exceptionsthrow 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.
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