Bonsoir,
J'ai le code suivant :
Cela marche bien mais je me pose une question au sujet de la durée de vie de l'exception
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 int main(int argc, char * argv []) { try { if(bla bla) throw std::exception("bla bla"); } catch(std::exception & e) { // gestion des erreurs } return EXIT_SUCCESS; }
Dès que l'exception est levée, on quitte le bloc try et donc, normallement l'objet std::exception est détruit.
Comment se fait t'il alors qu'il existe encore dans le bloc catch et qu'il soit valide.
- Coup de chance
- c'est normal et j'ai rien compris
- autre chose
Est ce que le mieux ce ne serait pas d'écrire
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part throw new std::exception("bla bla");
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 catch(std::exception * e) { // gestion des erreurs delete e; }
Partager