Instruction Try except End.
Bonjour,
J'essaie de faire fonctionner une simple expression try except end
voici le code archi simple
Note: SL contient une chaine illégale = '123.45a'
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Function Parse(L,S: String; Args: array of const): Boolean;
...
...
else If Uppercase(SS) = Uppercase('%f') then
begin
Try
TempReal := StrToFloat(SL); { erreur de conversion ici }
except
Application.MessageBox('Erreur.', 'Look', MB_OK);
end;
VarArr[ArgNum] := TempReal;
Inc(ArgNum);
end
...
... |
Je trace en mode debug et il ne veux rien savoir et plante à l'instruction TempReal := StrToFloat(SL) sans passer sur l'instruction dans le bloc except = Application.MessageBox ? Il y a bien un message:
Le projet ... à provoqué une classe d'exeption EConvertError avec le message '123.45A' ...
Je suis peut-être trop fatigué et je ne vois plus rien mais je ne trouve pas, il y a peut-être une directive genre {$I+} qui n'est correcte pourtant j'en ai ajouté aucune dans le code. Il me semble que ca déjà bien fonctionné.
Salut.