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 :

signification du code


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Points : 52
    Points
    52
    Par défaut signification du code
    bonjour,

    j'ai le code suivant en delphi :

    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
    21
    22
    23
    24
     
      If MasterContext.ClassManager.TranCount=0 then
       begin
             TranFlag:=TRUE;
             MasterContext.ClassManager.BeginTran(0);
       end
       else
            TranFlag:=False;
     
        Try
     
            importsession:=MasterContext.ClassManager.CreateObjectList('TSessionImport');
            importsession.AddWhere('','UpdDate',TRUE,unassigned);
            importsession.GetInstance(importsession.count-1,masession);
     
            If TranFlag then
            MasterContext.ClassManager.commit;
            Except
             If TranFlag then
             MasterContext.ClassManager.Rollback;
            Raise;
            end;
           .......
           .......

    j'aurais deux questions sur cette portion de code.
    il faut dire que la procédure n'est pas entière donc il se peut que tous les if et les try ne soient pas fermés.

    1) est ce que le premier try fait partie du else au dessus ou il y a un end implicite pour le if ?
    é) que signifie exactement le Raise ?


    Merci à vous.

  2. #2
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 173
    Points
    4 173
    Par défaut
    Un if-then-else ne porte que sur une seule instruction.

    Si tu veux avoir plusieurs instructions pour le then ou le else, il faut mettre un bloc begin end.

    Dans ton cas, il n'y a pas de begin-end sur le else. Donc il s'arrête au point-virgule.

    Le try s'applique après le if.

    Le Raise sert ici à redéclencher l'exception : On a un bloc de code entre le try et le except. Si ce dernier déclenche une erreur, l'exception est capturée et traitée par le bloc except.
    Tu gères un contexte transactionel. En cas d'exception dans la transaction, tu veux faire un rollback de la transaction base de données.
    Par contre, tu veux qu'ensuite, l'erreur remonte jusqu'à l'appelant pour qu'il sache que le traitement a échoué.
    Normalement le bloc except a permis de traiter l'exception. Donc pour qu'elle remonte jusqu'à l'appelant, il faut la redéclencher avec l'instruction raise toute seule.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Points : 52
    Points
    52
    Par défaut
    Je te remerci pour ces explications qui sont peut être du basique mais il faut bien débuter

Discussions similaires

  1. Signification des codes couleur ?
    Par serge-07 dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 14
    Dernier message: 18/07/2006, 22h29
  2. Signification du code d'une requête
    Par R.L. dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/05/2006, 21h35
  3. Réponses: 22
    Dernier message: 03/04/2006, 19h29
  4. Signification du code
    Par krfa1 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/09/2005, 11h45
  5. Signification de codes ASCII dans OnKeyPress
    Par e-ric dans le forum Langage
    Réponses: 5
    Dernier message: 19/08/2005, 10h33

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