anoniem Geplaatst: 7 januari 2002 Delen Geplaatst: 7 januari 2002 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[i]; 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 Link naar reactie
anoniem Geplaatst: 8 januari 2002 Auteur Delen Geplaatst: 8 januari 2002 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[i]; 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 ? - Quote Link naar reactie
anoniem Geplaatst: 8 januari 2002 Auteur Delen Geplaatst: 8 januari 2002 Dat is toch alleen zo als er GEEN exception is? Als er wel een exception is wordt toch wel het deel wat onder except staat uitgevoerd? Bij mij tenminste wel, echter als dat is uitgevoerd springt hij weer terug naar het try-gedeelte, en dat lijkt me niet goed. Ik heb het trouwens al opgelost door van het stukje code een aparte procedure te maken. Toen werkte het ineens wel goed. Toch vindt ik het vreemd. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen