AW: Try-Finally und Try-Except zusammen nutzen?
Welche Reihenfolge, das kommt drauf an, ob
erst Freigeben und dann Fehlerbehandlung, welche auch das Freigeben mit behandlet, oder erst die Fehlerbehandlung und dann die Freigabe. Eventuelle Speicherprobleme zuerst freigeben und dann behandlen, aber muß man beim Behandelt auf das zugreifen, was knallte, dann Freigeben zuletzt. Auch Sperren (CriticalSections und Datei- oder Datenbankzugriffe) meist zuerst beenden und dann z.B. den Fehlerdialog anzeigen, weil andersrum kann es sonst schnell einen Deadlock geben. Zitat:
Lies dir die Compiler-Warnung durch und du weißt warum.
Delphi-Quellcode:
obj := TObject.Create;
try try // Some code except // Exception handling end; finally obj.Free; end; |
AW: Try-Finally und Try-Except zusammen nutzen?
Zitat:
|
AW: Try-Finally und Try-Except zusammen nutzen?
Zitat:
Delphi-Quellcode:
Die Alternativversion ist vor allem sinnvoll, wenns mehrere Objekte sind und man nicht ein try..finally pro Objekt habe will:
obj := nil;
try obj := TObject.Create; try // Some code except // Exception handling end; finally obj.Free; end;
Delphi-Quellcode:
statt
obj1 := nil;
obj2 := nil; obj3 := nil; try obj1 := TObject.Create; obj2 := TObject.Create; obj3 := TObject.Create; try // Some code except // Exception handling end; finally obj1.Free; obj2.Free; obj3.Free; end;
Delphi-Quellcode:
obj1 := TObject.Create;
try obj2 := TObject.Create; try obj3 := TObject.Create; try try // Some code except // Exception handling end; finally obj3.Free; end; finally obj2.Free; end; finally obj1.Free; end; |
AW: Try-Finally und Try-Except zusammen nutzen?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 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