[C++] while & try-catch

while & try-catch [C++] - C++ - Programmation

Marsh Posté le 05-11-2004 à 23:56:32    

Code :
  1. while
  2. {
  3.   bool erreur( false );
  4.   try
  5.   {
  6.    //....
  7.   }
  8.   catch()
  9.   {
  10.    erreur = true;
  11.   }
  12.   if( not erreur )
  13.   {
  14.    //....
  15.   }
  16. }


 
Hum! Il y a t il un moyen d'obtenir un fonctionnement similaire avec une ecriture... plus séduisante?


Message édité par xterminhate le 06-11-2004 à 00:04:26

---------------
Cordialement, Xterm-in'Hate...
Reply

Marsh Posté le 05-11-2004 à 23:56:32   

Reply

Marsh Posté le 06-11-2004 à 00:39:02    

Il me parrait douteux ton code. Quelle est l'erreur qui peut se produire, et qu'est-ce qu'elle déclenche ?

Reply

Marsh Posté le 06-11-2004 à 00:44:48    

pourquoi tu fous pas le code "if not erreur" dans ton block try ?

Reply

Marsh Posté le 06-11-2004 à 00:51:31    

A la place du premier commentaire, j'appelle une fonction qui génère une exception propriétaire.
 
Effectivement, la meilleure solution consiste à englober tout le code du while dans un seul try-catch pour intercepter cette exception.
 

Code :
  1. while
  2. {
  3.   try
  4.   {
  5.    // code génère exeption perso....
  6.   }
  7.   catch( exception perso )
  8.   {
  9.   }
  10. }


Message édité par xterminhate le 06-11-2004 à 00:52:57

---------------
Cordialement, Xterm-in'Hate...
Reply

Marsh Posté le 06-11-2004 à 02:17:23    

Question stupide : y'a une différence par rapport à :

Code :
  1. try
  2. {
  3.     while
  4.     {
  5.         // code génère exeption perso....  
  6.     }
  7. }
  8. catch( exception perso )
  9. {
  10. }


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 06-11-2004 à 04:55:11    

bah le while est coupé à la première exception.
 

Reply

Marsh Posté le 06-11-2004 à 08:15:42    

Je veux poursuivre normalement l'execution de ma boucle tant que je suis en mesure de traiter l'exception. S'il s'agit de mon exception perso, je sais normalement la traiter. Sinon, je relance le gesitonnaire d'exception dans le catch pour sortir de ma fonction...


---------------
Cordialement, Xterm-in'Hate...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed