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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    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!

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    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
    Invité
    Invité(e)
    Par défaut
    Merci beaucoup TicTacToe pour ta réponse.
    Je comprends mieux maintenant ce qui m'arrive

+ 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