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

EDI Delphi Discussion :

[Débogage Activé] Ignorer certaines lignes


Sujet :

EDI Delphi

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut Comment ignorer certaines exceptions au debuggage ?
    Bonjour,
    Depuis le temps que j'y pense, je me décide enfin à poser la question :
    Comment ne pas déclencher certaines exceptions lorsque le débogueur intégré est activé?
    Directives de compilation ?
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     Var
     I : String;
     P : Integer;
     Begin
     i := 'voiture';
        Try
        P := Strtoint(I);
        Except
        P := 0;
        end;
     
      {Ne pas s'arreter ici si exception générée}
       Try
        P := P - Strtoint(I);
        Except
        P := 0;
        end; 
      {\Ne pas s'arreter ici si exception générée}
     End;
    Un paramètre à régler dans les option du débogueur ?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Le seul moyen que je connaisse, c'est quand le message d'exception apparait, il y a une case à cocher qui permet d'ignorer l'exception à l'avenir.
    Le seul problème c'est que cette exception sera ignorer à chaque fois et pas qu'a l'endroit que tu veux.
    Pour la gestion des exceptions, il faut aller dans les options du débogueur ,puis dans les exception du langage, si tu veux en rajouter d'autres ou en retirer de la liste des ignorées

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    Ca m'ennuie tout ca....
    Pcq quand on débogue et qu'il faut ce farcir un série de try...except --> c'est lourd !

    Enfin, si quelqu'un à une idée.

    Ps : Je suis sous D7

  4. #4
    Membre actif

    Profil pro
    Personnel
    Inscrit en
    Septembre 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Personnel

    Informations forums :
    Inscription : Septembre 2003
    Messages : 142
    Points : 210
    Points
    210
    Par défaut
    Salut,
    Peut-être en évitant d'avoir l'exception par un traitement plus approprié, genre un test avant, par exemple en utilisant Val() au lieu de StrToInt().
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      i := 'voiture';
      Val(i, P, Code);
      // Erreur pendant la conversion en entier?
      if Code = 0 then
        // conversion réussie, P = integer
      else
        // ce n'est pas un entier
    Il vaut mieux réserver le TRY..EXCEPT pour des cas difficilement gérable, plutôt que d'utiliser cela comme mode de traitement...
    @+
    Fabrice

  5. #5
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    Effectivement, il vaut mieux prévenir que guérir...
    Par exemple, pour le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Try
      P := Strtoint(I);
    Except
      P := 0;
    end;
    J'utiliserai plutot ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    P := StrToIntDef(I, 0);
    Et pour le 2eme cas,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Try
      P := P - Strtoint(I);
    Except
      P := 0;
    end;
    J'hasarderai celà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    P := P - StrTointDef(I, P);

  6. #6
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    Bien entendu . C'était juste pour donner un exemple flagrant.
    C'est clair qu'avec quelques conditions, il y aurait moyen de se passer du Try...Except. Mais des fois, c'est tellement tordu qu'on a pas envie de se prendre la tête.

    Enfin bon, je sais ce qu'il me reste à faire....

    Merci à vous tous.

  7. #7
    Membre actif

    Profil pro
    Personnel
    Inscrit en
    Septembre 2003
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Personnel

    Informations forums :
    Inscription : Septembre 2003
    Messages : 142
    Points : 210
    Points
    210
    Par défaut
    Mais des fois, c'est tellement tordu qu'on a pas envie de se prendre la tête.
    C'est aussi un des plaisirs de la programmation... si tout était facile, cela deviendrait vite ch... à la longue ;o)
    Aller, bon courage !
    Fabrice

Discussions similaires

  1. Ignorer certaines lignes lors de l'extraction
    Par Rosees dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/09/2013, 20h20
  2. Ignorer certaines lignes d'un fichier "csv"
    Par Keyem dans le forum Langage
    Réponses: 10
    Dernier message: 19/06/2013, 11h41
  3. Comment ignorer certaines lignes d'un fichier
    Par Popeye63 dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/11/2012, 16h54
  4. Réponses: 7
    Dernier message: 04/06/2005, 00h26
  5. Récupéré l'identifiant d'une certaine ligne
    Par Trunks dans le forum Langage SQL
    Réponses: 6
    Dernier message: 25/01/2005, 02h08

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