« Programmation C++/Les exceptions » : différence entre les versions
Contenu supprimé Contenu ajouté
Ligne 104 :
Une déclaration avec clause <code>throw</code> limite donc les types d'exception que la fonction peut lancer.
Toute tentative de lancer un autre type d'exception est détectée à l'exécution et provoque l'appel de la fonction <code>std::terminate()</code>, puis l'arrêt immédiat du programme. Ce comportement est spécifique au C++, et amène souvent les développeurs à remplacer cette clause par une simple documentation.
De plus, l'utilisation de la clause <code>throw</code> reste rare car
Il est possible de fournir sa propre fonction <code>std::terminate()</code> appelée en cas d'exception non attrapée, grâce à <code>std::set_terminate()</code>.
<source lang="cpp">
|