• [^] # Re: finally

    Posté par . En réponse à la dépêche Peuch-peuch Cinq Cinq, pour PHP 5.5. Évalué à 1.

    Ton destructeur balance une exception, évidemment que ça se passe mal, il ne faut jamais lancer d'exceptions dans un destructeur.
    Si tu veux vraiment laisser le fonctionnement de ta classe tel quel (c'est-à-dire écriture fainéante), tu dois par exemple attraper l'exception de flush dans ton destructeur :

     ~file()
     {
     try {
     flush();
     close();
     } catch(my_ns::io_error const & e) {
     std::cerr << "destruction failure!\n";
     }
     }
    

    http://www.stroustrup.com/bs_faq2.html#ctor-exceptions

    Le problème c'est pas RAII, c'est que tu lances une exception dans le destructeur...