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

Langage Delphi Discussion :

Post et Try Except End ?


Sujet :

Langage Delphi

  1. #1
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut Post et Try Except End ?
    bonjour

    y'a t-il une explication logique à ce que Except n'est jamais appelé suite à un post même s'il n'est pas exécuté correctement ?

    Dans une forme et pour ne pas tester sur chaque champ j'ai réalisé ce bout de code qui me retourne un message si l'utilisateur ne renseigne pas les enregistrement "requiered" mais ma surprise fut grande quand j'ai réalisé que Except n'est jamais exécuté malgré que j'ai omis de renseigner les champs en question par contre le message système est bien là ?!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    with dm_Medic.IBCTable_patient do
      begin
        try
          Post;
        except
          on E: EIBCError do
          begin
            ShowMessage(E.Message);
            dxLayoutControl_Fiche_Patient.Enabled := True;
          end;
        end;
        Refresh;
      end;
    Merci d'avance pour toute explication.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 441
    Points : 3 076
    Points
    3 076
    Par défaut
    Le sujet sur les exception en lien avec les SGBD ont souvent été abordés ici sans jamais trouvé une solution définitive.
    Il est déjà possible de rajouter un traitement pour une exception générale pour voir si ça fait une différence.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        except
          on E: EIBCError do
          begin
            ShowMessage(E.Message);
            dxLayoutControl_Fiche_Patient.Enabled := True;
          end;
     
          on E: Exception do
             ShowMessage(E.Message);
        end;
    J-L aka Papy pour les amis

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 091
    Points : 41 069
    Points
    41 069
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    pour revenir à la question d'origine, c'est parce que l'erreur levée n'est pas dans la tranche des EIBCError et donc comme les autres exceptions sont ignorées .... cela aurait peut être mieux fonctionné avec E:EDatabaseError plus générique. Je pense que EIBCError ne concerne que les erreurs bases de données côté serveur (genre arrêt de la base, déconnexion etc....) à vérifier dans la doc.
    Comme le suggère Papy214 au cas où l'exception levée ne fait pas partie des erreurs traitées il faut prévoir le coup
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. Try Except End qui n'empêche pas la remontée de l'exception
    Par Just-Soft dans le forum Bases de données
    Réponses: 10
    Dernier message: 24/02/2015, 12h49
  2. Instruction Try except End.
    Par PiPo123 dans le forum Langage
    Réponses: 3
    Dernier message: 13/10/2008, 03h02
  3. [D7] Utilisation de try...except...end
    Par gtaman dans le forum Langage
    Réponses: 14
    Dernier message: 03/11/2007, 00h27
  4. [try except keyerror] récupérer le nom de la variable
    Par jean-jacques varvenne dans le forum Général Python
    Réponses: 2
    Dernier message: 03/03/2005, 16h59
  5. bloc try/except et API windows
    Par jakouz dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 24/02/2005, 12h21

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