[C++] fonctions try et catch
Résolu/Fermé
CQFD
-
13 juin 2009 à 16:24
mamiemando Messages postés 33654 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2025 - 14 juin 2009 à 18:47
mamiemando Messages postés 33654 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2025 - 14 juin 2009 à 18:47
A voir également:
- [C++] fonctions try et catch
- Fonction si et - Guide
- Codes secrets Android : accéder aux fonctions cachées - Guide
- Ces codes secrets vous donnent accès aux fonctions cachées de votre smartphone Android - Accueil - Android
- 450 : 450 4.7.0 service refuse. veuillez essayer plus tard. service refused, please try later. lpn105_510 ✓ - Forum Mail
- Envoie de message refusé - Forum Laposte
5 réponses
mamiemando
Messages postés
33654
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
4 mai 2025
7 847
14 juin 2009 à 02:11
14 juin 2009 à 02:11
Petit rappel de cours. En C++ une fonction est quittée a priori par un point de sortie, a priori un return (éventuellement l'accolade fermante de la fonction si cette fonction ne retourne rien).
Toute fois il est possible d'interrompre l'exécution d'une fonction f en levant une erreur (à l'aide d'un throw). On n'est pas obligé de mettre une erreur à la suite du throw. La fonction g qui a appelé la fonction f est a priori sensée englober l'appel de f avec un bloc try catch, sinon le programme est interrompu.
- Quand aucune erreur n'est levée, le bloc try est intégralement exécuté et le(s) catch(s) associé(s) est (sont)
ignoré(s).
- Si une erreur est levé, le bloc try est interrompu (les instructions après f sont ignorées) et l'on rentre dans le bloc catch qui correspond à l'erreur levé. Il est possible de faire un "catch" par défaut quand tous les catch du bloc try catch n'ont pas rattrapé l'erreur : celui ci est noté catch(...).
Maintenant il ne te reste plus qu'à copier coller ton code dans un environnement de développement C++ (par exemple code::blocks ou dev-cpp sous windows et kdevelop ou anjuta sous linux) et regarder ce qui se passe.
Bonne chance
Toute fois il est possible d'interrompre l'exécution d'une fonction f en levant une erreur (à l'aide d'un throw). On n'est pas obligé de mettre une erreur à la suite du throw. La fonction g qui a appelé la fonction f est a priori sensée englober l'appel de f avec un bloc try catch, sinon le programme est interrompu.
- Quand aucune erreur n'est levée, le bloc try est intégralement exécuté et le(s) catch(s) associé(s) est (sont)
ignoré(s).
- Si une erreur est levé, le bloc try est interrompu (les instructions après f sont ignorées) et l'on rentre dans le bloc catch qui correspond à l'erreur levé. Il est possible de faire un "catch" par défaut quand tous les catch du bloc try catch n'ont pas rattrapé l'erreur : celui ci est noté catch(...).
try{ //... f(); //... }catch(type_err1 & e1){ // ... }catch(type_err2 & e2){ //... }catch(...){ // catch les erreurs non rattrapées // }
Maintenant il ne te reste plus qu'à copier coller ton code dans un environnement de développement C++ (par exemple code::blocks ou dev-cpp sous windows et kdevelop ou anjuta sous linux) et regarder ce qui se passe.
Bonne chance
Merci pour toutes vos explications, Mamiemando.
Mon problème est résolu, je viens d'éxécuter le programme avec Code::Blocks.
Bonne journée.
http://www.attentionauchien.com/images/ecards/merci.jpg
Mon problème est résolu, je viens d'éxécuter le programme avec Code::Blocks.
Bonne journée.
http://www.attentionauchien.com/images/ecards/merci.jpg
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mamiemando
Messages postés
33654
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
4 mai 2025
7 847
14 juin 2009 à 18:47
14 juin 2009 à 18:47
Parfait, bonne continuation