Bonjour, quelqu'un peut -ilm'expliquer clairement à quoi dert une exception? Je ne vois pas pourquoi un simple if ne ferait pas l'affaire.
J'ai déja regarder de la doc dessus mais je ne vois pas la différence
Merci.
Bonjour, quelqu'un peut -ilm'expliquer clairement à quoi dert une exception? Je ne vois pas pourquoi un simple if ne ferait pas l'affaire.
J'ai déja regarder de la doc dessus mais je ne vois pas la différence
Merci.
Les exceptions sont utilisées pour capturer une eventuelle erreur lors de l'execution de ton programme, comme cela, si tu as récupéré une exception, tu peut afficher ton propre message d'erreur au lieu de message d'erreur windows auquel on ne comprand pas toujours tout, ou tu peut aussi lors d'une erreur executer un code spécial pour contrecarer l'erreur, etc...
ici, je dois mettre une exception?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 void __fastcall TForm2::RetirerClick(TObject *Sender) { if(StringGrid1->RowCount==2) ShowMessage("Attention, vous ne pouvez pas supprimer cette ligne"); else { StringGrid1->RowCount--; StringGrid1->Height=(StringGrid1->Height-25); } }
Ici, si j'ai bien compris, tu veut que l'on ne puisse pas retirer de ligne si il n'y en a que deux, c'est donc une condition et non pas une exception, puisque c'est toi qui veut faire la condition, enfin si j'ai bien compris ce que tu voulais, si tu veut mettre une capture d'exception à cette endroit, tu peut mais personnellement je n'en voit pas l'intérêt.Envoyé par sandball22
cherche dans les blocs de code
tu peux ainsi avoir par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 try { } catch(...) { }
ainsi, dans ce code, ton si va s'executer mais je gerera pas une eventuelle erreur D'EXECUTION, ce sera donc le bloc catch qui va intercepter l'ereur (au lieu de laisser faire windows) et faire ce que tu veux en cas d'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 try { if(condition) { //faire } } catch() { //faire si erreur }
est-je etais clair???
Quelques fautes de frappe qui viennent un peu obscurcir ton raisonnement mais sinon ca va.Envoyé par doudouallemand
![]()
non j'ai pas treès bien compris. tu peux réexpliquer?Merci. Dans le catch je met quoi? Sachatnque je ne sais pas si il y a une erreur quel genre d'errreur elle sera.
dans le catch, tu mets du code qui va faire quelque chose dans le cas d'une erreur (par exemple, un message a l'utilisateur).
pour savoir d'ou vient l'erreur, il me semble que tu peux faire :
tu confirme pottiez???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 try { //... } catch(Exception e) { //e contient l'erreur et tu peux faire e.c_str() }
C'est exacte à un petit détail pres mais qui a son importance :Envoyé par doudouallemand
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 try { //... } catch(Exception &e) { //e contient l'erreur et tu peux faire e.c_str() }
J'ai contourné mon problème en prenant
Code : Sélectionner tout - Visualiser dans une fenêtre à part int res = MessageBox(0,"Attention, vous ne pouvez pas supprimer cette ligne.\n", "Attention", MB_OK);
Et cela fonctionne. Merci pour votre aide.
Partager