Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1023 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  capture d'exceptions

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

capture d'exceptions

n°326740
elrond
Posté le 08-03-2003 à 20:26:35  profilanswer
 

Voila, dans mon programme j'ai un cas du genre

Code :
  1. #include <iostream>
  2. using namespace std;
  3. class A{
  4. public:
  5.   ~A(){throw 0;}
  6. };
  7. class B:A{
  8. public:
  9.   B():A(){throw 1;}
  10. };
  11. int main(int,char**)
  12. {
  13.   try
  14.     {
  15.       B b;
  16.     } catch (int x)
  17.       { cout << x << endl;}
  18.   return 0;
  19. }


 
Quand on execute le programme, ca génère un coredump.
Comment peut-on capturer les deux exceptions? Ou alors c'est "très mal" de permettre à un destructeur de lancer des exceptions.


Message édité par elrond le 08-03-2003 à 20:27:51
mood
Publicité
Posté le 08-03-2003 à 20:26:35  profilanswer
 

n°326753
Taz
bisounours-codeur
Posté le 08-03-2003 à 20:42:22  profilanswer
 

oui. dans le cas que tu montres, le destructeur est appelé pendant la gestion de l'exception lors du deroulement de la pile, donc cette exception n'est pas attrapée.  
 
edit: std::terminate() st alors appelé puisque l'on considère que l'exception est signe d'une erreur dans la gestion de l'exception
 
voir aussi std::uncaught_exception() qui renvoie true si une exception à été lancée mais pas capturée


Message édité par Taz le 08-03-2003 à 20:46:20
n°326770
verdoux
And I'm still waiting
Posté le 08-03-2003 à 21:18:14  profilanswer
 

Elrond a écrit :

Ou alors c'est "très mal" de permettre à un destructeur de lancer des exceptions.


C'est en effet peu recommandé.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  capture d'exceptions

 

Sujets relatifs
gestion des exceptions dans les classes en cpples exceptions en c++
Gestion des exceptions dans les ServletsCapture d'évenements
[c++bder] capture mouvement(pas position) souris[c++bder] pression touches multiples && capture mouvement souris
Les exceptions, y a une truc que j'comprend pas.[Java] pb avec les Exceptions
Gestion des exceptions dans des DLLcapture decran c++
Plus de sujets relatifs à : capture d'exceptions


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR