Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   try except und Finally Problem (https://www.delphipraxis.net/59531-try-except-und-finally-problem.html)

renekr 23. Dez 2005 17:02


try except und Finally Problem
 
Hallo,

Ich habe ein kleines Problem mit dem Try Code:

Folgender Source;
Delphi-Quellcode:
try
try
  DMPlaetzePflegen.ADOCommand1.CommandText :='sql_string';
  DMPlaetzePflegen.ADOCommand1.Execute;

except
FAILSQL;
end; // except end;


finally
PASSSQL;
end; //Finally End;
Das ist doch eigentlich der Korrekte Syntax für das Try Except und Finally??

Problem:

Wenn er den ADO Command Befehl nicht absetzen kan nrichtig, weil zb. eine Spalte falsch heißt, dann lauft er ins Except rein und anschließend ins Finally.

Kann mir das jemand erklären?

Vielen Dank.

Chewie 23. Dez 2005 17:04

Re: try except und Finally Problem
 
Was sollte denn sonst passieren deiner Meinung nach?


except wird im Falle einer Exception ausgeführt, und finally auf jeden Fall.

Neotracer64 23. Dez 2005 17:10

Re: try except und Finally Problem
 
Mach so: :)

Delphi-Quellcode:
try
  DMPlaetzePflegen.ADOCommand1.CommandText :='sql_string';
  DMPlaetzePflegen.ADOCommand1.Execute;

except
Failed := True;
end; // except end;


finally

If Failed Then FAILSQL Else PASSSQL;

end; //Finally End;

Khabarakh 23. Dez 2005 17:19

Re: try except und Finally Problem
 
Zitat:

Zitat von Neotracer64
Mach so: :)

Delphi-Quellcode:
try
  DMPlaetzePflegen.ADOCommand1.CommandText :='sql_string';
  DMPlaetzePflegen.ADOCommand1.Execute;

except
Failed := True;
end; // except end;


finally

If Failed Then FAILSQL Else PASSSQL;

end; //Finally End;

Kann man natürlich machen, wenn man mit Biegen und Brechen ein finally, das hier total Fehl am Platze ist, verwenden will. Ansonsten würde ich das vorziehen:
Delphi-Quellcode:
try
  DMPlaetzePflegen.ADOCommand1.CommandText :='sql_string';
  DMPlaetzePflegen.ADOCommand1.Execute;

  PASSSQL;
except
  // Am Besten hier auch nur die richtigen Exception-Klassen abfangen
  FAILSQL;
end;

renekr 23. Dez 2005 17:26

Re: try except und Finally Problem
 
Vielen DAnk für eure schnellen Antworten.

Werde wohl eine IF abfrage reinmachen müssen.
ist zwar nicht die saubere Lösung aber geht nicht anderst ,weil ich PASS und FAIL getrennt auswerten will.



Vielen Dank und feiert schön morgen.

Christian Seehase 24. Dez 2005 00:38

Re: try except und Finally Problem
 
Moin renekr,

Zitat:

Zitat von renekr
...weil ich PASS und FAIL getrennt auswerten will.

das kannst Du doch bei Sebastians Methode auch.

Im Falle einer Exception wird dort PASS ja nicht aufgerufen, da die Exception ja vom Execute ausgelöst werden würde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz