Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

Delphi4 try....except statement

HankyPanky
2 antwoorden
  • Hallo, ik ben (nog) niet zo ervaren met delphi en heb een probleempje met het try statement.
    Het gaat goed tot en met het uitvoeren van het exception-blok, maar daarna springt het programma weer terug naar het statement in het try blok en probeert het opnieuw.
    Klopt dit? Dat wil ik dus eigenlijk niet.
    Het gaat om dit stukje code:

    try
    QueryInsert.ExecSQL;
    except
    on E: EDBEngineError do
    begin
    AfzwaaierJa := True;
    With QueryAfzwaaierInsert do
    begin
    Params[0].Value := Opendialog1.Files;
    Params[1].Value := 'Kan record niet toevoegen. ' +
    'Foutboodschap: ' + E.Message;
    Params[2].Value := '2';
    ExecSql;
    end;
    With Afzwaaier do
    begin
    CommitUpdates;
    ApplyUpdates;
    end;
    ID3TagOK := False;
    end;
    end; //end except

  • quote:
    Originally posted by HankyPanky:
    Hallo, ik ben (nog) niet zo ervaren met delphi en heb een probleempje met het try statement.
    Het gaat goed tot en met het uitvoeren van het exception-blok, maar daarna springt het programma weer terug naar het statement in het try blok en probeert het opnieuw.
    Klopt dit? Dat wil ik dus eigenlijk niet.
    Het gaat om dit stukje code:


    het klopt dat het 'exception'-deel bij je wordt overgeslagen …

    code:

    try
    QueryInsert.ExecSQL;
    // dit is het 'einde' van deze routine
    except
    on E: EDBEngineError do
    begin
    // dit wordt alleen uitgevoerd als
    // er een fout (=EDbEngineError) optreed
    AfzwaaierJa := True;
    With QueryAfzwaaierInsert do
    begin
    Params[0].Value := Opendialog1.Files;
    Params[1].Value := 'Kan record niet toevoegen. ' +
    'Foutboodschap: ' + E.Message;
    Params[2].Value := '2';
    ExecSql;
    end;
    With Afzwaaier do
    begin
    CommitUpdates;
    ApplyUpdates;
    end;
    ID3TagOK := False;
    end;
    end; //end except

    Als je deze code in een lus zou aanroepen …
    dan doe je dus feitelijk alleen maar :

    code:

    QueryInsert.ExecSQL;

    ——————
    - Red Kink FM -
    - JaFO's Bot-editor -
    - How many pirates did you kill today ? -

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.