Quand une exception est lancée, les destructeurs des objets de pile crées entre le try et le throw sont correctement appelés.
Comment cela est-il géré ?
En effet, à la compilation, le throw ne sait pas combien d'appels de fonction auront eu lieu, ni combien de bloc de code auront été "entrés".
Il y a donc un mécanisme à l'éxécution à l'oeuvre.
Le plus logique serait que les constructeurs/destructeurs déposent/enlèvent leur identifiant dans une pile à part.
Mais on peut compiler du code en intégrant du code déjà compilé avec un autre compilateur, qui ne gère peut-être pas le throw de la même manière, voire ne le gère pas du tout.
Alors, comment ça marche ?
---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone