cs_haklia
Messages postés41Date d'inscriptionmardi 24 juin 2003StatutMembreDernière intervention30 avril 2006
-
29 juil. 2004 à 13:55
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 2013
-
29 juil. 2004 à 23:13
bonjour a tous,
bon voila mon code :
procedure TForm1.BitBtn1Click(Sender: TObject);
var
debut:integer;
begin
try
debut:=strtoint(edit1.Text);
except
on EConvertError do showmessage ('PAS OK');
end;
end;
il se passe qu'il plante quant meme sur la ligne debut:=strtoint(edit1.Text);
si qq'un pouvait me dire pourquoi...
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 29 juil. 2004 à 16:35
En phase de débogage, il est normal qu'il se produise un exception, juste pour signaler au programmeur qu'une exception s'est produite et quelle est son type.
Dans la mesure où tu implémentes une gestion d'erreur, l'utilisateur lambda ne verra pas cette erreur se produire, sauf si le type que tu interceptes (ici EConvertError ) n'est pas le type qui a déclenché l'exception, ni un de ses sous-types. Mais comme EConvertError descend directement de Exception, les risques sont plutôt limités.
Personnellement, je ne suis pas partisan de désactiver la gestion des exceptions avec Delphi car c'est le seul moyen de savoir qu'on a bien couvert un type d'erreurs et de le traiter correctement.
Quant à la fonction StrToIntDef, elle ne fait rien d'autre que d'intégrer cette erreur de conversion. Mais elle a l'inconvénient de toujours renvoyer une valeur par défaut, permettant ainsi la poursuite du traitement même avec une valeur qui n'est pas celle saisie par l'utilisateur. Cela peut donner des résultats imprévisibles au bout du compte...
May Delphi be with you
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 29 juil. 2004 à 23:13
Pour connaitre la différence entre StrToInt et StrToIntDef, je te conseille de prendre l'habitude de te reporter à l'aide en ligne de Delphi. C'est une bonne habitude à prendre pour nepas passer trop de temps à attendre une réponse sur les forums.
La modification d'un message par son auteur n'est pas prévue. Néanmoins, tu peux en demander la suppression si tu le souhaites. Un modérateur se chargera de le faire.
A+
May Delphi be with you