[pascal] Comment faire une gestion d'erreur ?

Comment faire une gestion d'erreur ? [pascal] - Programmation

Marsh Posté le 09-01-2002 à 12:28:07    

Si on rentre des caracteres quand le prog attend une valeur numerique, ça plante (logique). Comment faire pour que cela ne plante pas et que je puisse recuperer le texte entré (ou au moins que je puisse recuperer l'erreur) pour l'interpreter et en faire un signal de sortie ?

Reply

Marsh Posté le 09-01-2002 à 12:28:07   

Reply

Marsh Posté le 09-01-2002 à 12:43:05    

FORMAT C:\
 
Peur résoudre 100% des problèmes d'infos !

Reply

Marsh Posté le 09-01-2002 à 12:43:28    

fais lui demander un char et traite le char avec les caractères ASCII

Reply

Marsh Posté le 09-01-2002 à 12:44:57    

onError

Reply

Marsh Posté le 09-01-2002 à 12:45:14    

ben si tu veux UNIQUEMENT des vals numériques, utilises une var "string" pour la saisie, puis convertie la en integer ou ce que tu veux avec la fonction qui va bien (dont le nom m'échappe mais qui existe), et si la fonction de convertion retourne une erreur : affiche l'erreur et refait ta boucle de saisie...
 
tu peux étoffer en faisant une boucle de 1 à length(chaine_saisie) qui verifie si chaque caractere est un chiffre ou autre...


---------------
Fan de GodBout et de Meuh
Reply

Marsh Posté le 09-01-2002 à 12:51:22    

merci bcp, j'y avais pensé mais j'avais pas trouvé comment faire la conversion...une recherche + approfondi et ça roule !!!

Reply

Marsh Posté le 09-01-2002 à 12:56:09    

ya bien StrToInt sous Delphi (http://delphi.about.com/library/rtl/blrtlStrToInt.htm)
 
mais je sais plus si c la même syntaxe en Pascal (je suppose turbopascal)
 
par contre j'ai pas d'infos sur la val retournée en cas d'erreur (OnError alors :??: )
 
c à voir


---------------
Fan de GodBout et de Meuh
Reply

Marsh Posté le 09-01-2002 à 15:14:28    

sous delphi il ne faut pas utiliser strtoint car si la chaine n'est pas bonne cela va lever une exception, le plus simple est d'utiliser val qui va en plus retourner un code d'erreur qu'il suffira de tester (si <>0 alors pas bon)
 
http://delphi.about.com/library/rt [...] ?terms=val

Reply

Marsh Posté le 09-01-2002 à 15:24:40    

et alors ? une exception ça tue pas hein
tu fais
try
  machin := strtoint(truc);
except
  ce qui se passe si c pas valide
end;


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 09-01-2002 à 17:05:10    

je sais bien que ça tue pas, j'utilise delphi depuis la v1  :D  :D  
 
mais savoir résoudre un problème de plusieurs manières permet de choisir la meilleure solution en fonction du moment...

Reply

Marsh Posté le 09-01-2002 à 17:05:10   

Reply

Marsh Posté le 11-01-2002 à 14:33:08    

c meme pas delphi, on est sous turbopascal (vive le DOS ! :gun: )
sinon g fini avec des string convertis mais ça bouffe + de 150 lignes sur les 340 du prog !

Reply

Sujets relatifs:

Leave a Replay

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