Bonjour à tous,
Je ne suis pas un grand expert du C++, et je me pose une question à laquelle j'ai du mal à trouver une réponse claire et précise dans les différentes documentations.
Que ce passe-t-il précisément dans le déroulement du code lorsque l'on a attrapé une exception avec un block catch ? Ca s'arrête ? Ca continue ?
Plus précisément, avec un bout de code :
Bon le code est un peu bidon mais c'est pour l'exemple. Je pense que c'est assez clair, on souhaite ecouter qqchose jusqu'a ce qu'il soit terminé (on sait pas quand).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 while(bidule) { try { //instruction susceptible de lancer une exception machin = listen(truc); bidule = machin.isTerminated(); } catch (mon_exception &e) { log(e.description()); } }
Le probleme, c'est que la fonction listen peut lancer une exception, que j'aimerai logguer ... et continuer le while !
Hors je constate avec un exemple du meme genre, qu'a la premiere exception, elle est logguée la fonction s'interrompt immédiatement après.
Est-ce le comportement normal, ou ai-je manqué un truc ?
Si ce n'est pas possible avec les exceptions, comment puis-je m'y prendre ?
Merci beaucoup pour votre aide !
Cyril
Partager