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

Delphi Discussion :

Exceptions: Le "except" est exécuté après que Delphi ait géré l'erreur


Sujet :

Delphi

  1. #1
    Membre habitué Avatar de thor22
    Inscrit en
    Août 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2004
    Messages : 150
    Points : 155
    Points
    155
    Par défaut Exceptions: Le "except" est exécuté après que Delphi ait géré l'erreur
    Salutation!

    J'utilise Delphi 7 et je semble avoir un problème avec ma gestion d'exceptions.
    J'ai lu un tutoriel à ce sujet (http://flash-koti.developpez.com/art...tionexception/) et mon logiciel ne réagit pas de la même façon.

    Par exemple, si j'exécute 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
    	param1 : Double;
    begin
    	try
    		param1 := StrToFloat(Edit1.Text);
    		{suite des instructions}
    	except
    		on EconvertError do
    			MessageDlg('Erreur : Vous devez entrer un réel'
    				+#10#13+'Le séparateur décimal est : '+DecimalSeparator, mtError, [mbOk], 0);
    	end;
    	{Autre instruction non sensible}
    end;
    Je reçois ce message:


    Puis ce message:


    En théorie, vu que je fais de la gestion d'erreurs, seulement le premier message devrait s'afficher, non?

    Voici ma configuration (Tools / Debugger Options):


    Si je décoche "Stop on Delphi Exception", le premier message n'est plus affiché. Cependant, si j'enlève la gestion d'erreur (try...except), c'est aussi seulement le 2e message qui apparaît.

    Quelqu'un peut m'aider avec ceci?

    Merci beaucoup!
    Francis = Thor22 = Tholmir

  2. #2
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Ceci est normal car tu es en mode conception.
    Le 1er message ne sera plus là lors tu seras en execution autonome.

    Si tu ne veux pas avoir le 1er message, il faut ajouter à la fenetre que tu as capturé, l'execpetion EConverteError, et la décocher.

    C'est déconseillé en fait, car en conception, mieux vaut être au courant de chaque execpetion levée...

    bon code !
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  3. #3
    Membre habitué Avatar de thor22
    Inscrit en
    Août 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2004
    Messages : 150
    Points : 155
    Points
    155
    Par défaut
    Merci beaucoup TicTacToe pour ta réponse.
    Je comprends mieux maintenant ce qui m'arrive
    Francis = Thor22 = Tholmir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/10/2009, 18h58

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