IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

[0.9.26] Problème avec try .. except : exception ne se déclenchant pas


Sujet :

Lazarus Pascal

  1. #1
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 070
    Points : 1 055
    Points
    1 055
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    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

  2. #2
    Membre expérimenté
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Points : 1 688
    Points
    1 688
    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

  3. #3
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 070
    Points : 1 055
    Points
    1 055
    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

  4. #4
    Membre expérimenté
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Points : 1 688
    Points
    1 688
    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

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 949
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 949
    Points : 5 665
    Points
    5 665
    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 ?)

  6. #6
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 070
    Points : 1 055
    Points
    1 055
    Par défaut
    Bonsoir droggo,

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    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

  7. #7
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 949
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 949
    Points : 5 665
    Points
    5 665
    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.

  8. #8
    Membre éclairé

    Inscrit en
    Avril 2003
    Messages
    284
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 284
    Points : 773
    Points
    773
    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...

  9. #9
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 949
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 949
    Points : 5 665
    Points
    5 665
    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 ...

Discussions similaires

  1. problème avec try except et try finally !?
    Par jano_dave dans le forum Débuter
    Réponses: 2
    Dernier message: 15/09/2009, 14h55
  2. [commande ls] Problème avec tri
    Par Orlyn dans le forum Débuter
    Réponses: 2
    Dernier message: 03/07/2008, 10h32
  3. Problème avec try-except
    Par steph_1 dans le forum Langage
    Réponses: 8
    Dernier message: 15/01/2008, 15h59
  4. problème avec try
    Par michel71 dans le forum Delphi
    Réponses: 2
    Dernier message: 06/05/2007, 12h58
  5. Problème avec Try ... Except
    Par Kcintim dans le forum Langage
    Réponses: 1
    Dernier message: 25/03/2006, 15h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo