Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Autres langages > Pascal > Lazarus

Lazarus Forum d'entraide sur Lazarus, le RAD de FreePascal, à la poursuite de Delphi

Réponse
 
Outils de la discussion
Vieux 06/11/2008, 23h32   #1 (permalink)
Membre Confirmé
 
Avatar de ChPr
 
Date d'inscription: septembre 2005
Localisation: HERBLAY 95
Âge: 63
Messages: 252
Par défaut [0.9.26] Problème avec try .. except : exception ne se déclenchant pas

Bonsoir à toutes et à tous,

Sous Ubuntu, je suis passé de lazarus 9.2.4 à 9.2.6. Je rencontre des problèmes que je n'avais pas. Exemple :

Code :
L:= 5;
M:= 10
N:= 0;
try
  X:= L*M/N;
except
  X:= 1;
end;
M/N représente une division par 0 et devrait gérérer une exception:ça n'en génère pas et donne "+inf".

La où ça plante, c'est le produit de L par "+inf" ; cela devrait générer une exception mais le programme plante et ne passe pas pas la case "except".

Un bug ? Quelles conditions mettre ? des idées du pourquoi du comment ?

Merci de votre aide.

Pierre

Dernière modification par Alcatîz ; 07/12/2008 à 14h31
ChPr est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/11/2008, 23h40   #2 (permalink)
Membre du Club
 
Date d'inscription: juillet 2007
Localisation: Tours (France - 37)
Âge: 40
Messages: 88
Par défaut

Bonsoir pierre,

Un vieux probleme de Lazarus qui est peut être à l'origine de cette anomalie...

Désactive le debuggeur et relance ton projet en mettant un showmessage dans ton except pour voir si il s'affiche !

Essaye cela pour voir car c'est comme cela dans mes projets si je veux que les exceptions soient bien gérées

Je n'ai pas regardé avec la dernière version par contre...

Cordialement,
Chris
chris37 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/11/2008, 01h38   #3 (permalink)
Membre Confirmé
 
Avatar de ChPr
 
Date d'inscription: septembre 2005
Localisation: HERBLAY 95
Âge: 63
Messages: 252
Par défaut

C'est en plaçant des ShowMessage() dans la partie except que je me suis aperçu du problème. Le débuggeur est désactivé et j'ai essayé diverses directives de compilation. Apparemment, rien n'y fait. Avec la version 9.2.4, ça fonctionnait correctement. !!!

Cordialement.

Pierre
ChPr est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/11/2008, 08h57   #4 (permalink)
Membre du Club
 
Date d'inscription: juillet 2007
Localisation: Tours (France - 37)
Âge: 40
Messages: 88
Par défaut

Bonjour,

Zut alors, un nouveau cas ? voir dans le bug tracker http://bugs.freepascal.org/view_all_bug_page.php si un problème de ce genre est signalé sinon il faudra faire un rapport d'incident.

Bon courage
Chris
chris37 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/11/2008, 13h20   #5 (permalink)
Expert Confirmé Sénior
 
Date d'inscription: août 2006
Messages: 2 203
Par défaut

Xie,

Je viens de tester chez moi (version 0.9.26 beta) et l'exception est bien levée.

(je suis d'ailleurs étonné du beta dans le numéro de version que me donne Lazarus, car normalement, j'ai pris la version dite stable ?)
__________________
Heureux ceux qui n'attendent rien, ils ne seront pas déçus.
droggo est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/11/2008, 19h23   #6 (permalink)
Membre Confirmé
 
Avatar de ChPr
 
Date d'inscription: septembre 2005
Localisation: HERBLAY 95
Âge: 63
Messages: 252
Par défaut

Bonsoir droggo,

Chez moi, ça plante. Pouvez-vous essayer avec le code suivant :

Code :
procedure TForm1.Button1Click(Sender: TObject);
var
  N1, N2, N3: Extended;
  Re: string;
begin
  N1:= 0;
  N2:= 10;                                                
  N3:= 0;
  try
    Re:= FloatToStr(N1*N2/N3);
  except
    Re:= '0.0';
  end;
end;
 
Je suis sous Ubuntu. Est-ce aussi votre cas ou êtes vous sous Windows ? Quels sont les directives de compilation et autres que vous avez dans la rubrique "projet/Options du compilateur ..."

Par ailleurs, J'ai aussi téléchargé une version stable et me retrouve avec un titre en 9.2.6 beta !

Merci de votre aide.

Pierre
ChPr est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/11/2008, 19h53   #7 (permalink)
Expert Confirmé Sénior
 
Date d'inscription: août 2006
Messages: 2 203
Par défaut

Lae,

Oui, je suis sous Windows (XP 64 )

Désolé, j'avais lu trop vite, et je n'avais donc pas fait attention que le problème concernait Ubuntu.
__________________
Heureux ceux qui n'attendent rien, ils ne seront pas déçus.
droggo est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/11/2008, 20h45   #8 (permalink)
Modérateur
 
Date d'inscription: avril 2003
Messages: 280
Par défaut

Citation:
Envoyé par droggo Voir le message
(je suis d'ailleurs étonné du beta dans le numéro de version que me donne Lazarus, car normalement, j'ai pris la version dite stable ?)
Quelques infos à ce sujet :

Tant que lazarus n'atteindra pas la version 1, il restera considéré par ses développeurs comme une version béta.

Il y a donc la possibilité de télécharger les versions testées dites stables (numeros pairs : 0.9.22, 0.9.24, 0.9.26 etc...) ou bien les versions en cours de développement (numeros impairs).

Pour un programme béta, lazarus offre une stabilité suffisamment interessante pour développer de petits projets...
Clandestino est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/11/2008, 22h16   #9 (permalink)
Expert Confirmé Sénior
 
Date d'inscription: août 2006
Messages: 2 203
Par défaut

Koe,

Ok, merci.

En tout cas, j'ai fait de tous petits tests, et déjà ça suffit pour voir la différence avec les versions qui avaient juste précédé celle-là.

Mais c'est juste pour me faire une idée, je ne reviendrai probablement jamais au Pascal pour faire de gros programmes, ni même pour faire des à peine plus gros que quelques lignes ...
__________________
Heureux ceux qui n'attendent rien, ils ne seront pas déçus.
droggo est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PASCALF.A.Q PASCALTUTORIELS PASCALSOURCESCOMPILATEURSOUTILSLIVRES

Réponse

Précédent   Forum des développeurs > Autres langages > Pascal > Lazarus



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide