AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Try-Finally und Try-Except zusammen nutzen?
Thema durchsuchen
Ansicht
Themen-Optionen

Try-Finally und Try-Except zusammen nutzen?

Ein Thema von OrNEC · begonnen am 25. Sep 2010 · letzter Beitrag vom 30. Sep 2020
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.399 Beiträge
 
Delphi 12 Athens
 
#5

AW: Try-Finally und Try-Except zusammen nutzen?

  Alt 25. Sep 2010, 15:13
Zum Beispiel in Java:
Code:
try {

} catch (Exception e) {

} finally {

}
Intern ist Try-Finally und Try-Except fast das Selbe, jedenfalls wird mit den selben Struckturen gearbeitet.

Das Problem ist aber, wenn in einem der Except/Finally-Blöcke eine Exception auftritt.
Darum braucht man eben 2 verschachtelte Schutzblöcke, Delphi baut sich sowas leider nicht selber zusammen.

sowas hätte mir auch gefallen
Delphi-Quellcode:
try

except

finally

end;
@xZise: Was passiert denn, wenn in Catch eine Exception auftritt?
Wird dann Finally noch ausgeführt?[/QUOTE]


Wierum man es letztendlich verschachtelt, hängt von der Aufgabe ab.
Delphi-Quellcode:
Ini := TIniFile.Create('C:\Test.ini');
try
  try
    ...
  except
    ...
  end;
finally
  Ini.Free;
end;
TIniFile greift im Constructor nicht auf die Datei zu, weswegen es hier geht.
TMemIniFile macht dieses aber, weshalb man es hier eventuell andersrum machen sollte, falls z.B. schon beim Öffnen/Auslesen ein Fehler auftritt.
Delphi-Quellcode:
try
  Ini := TMemIniFile.Create('C:\Test.ini');
  try
    ...
  finally
    Ini.Free;
  end;
except
  ...
end;
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (25. Sep 2010 um 15:26 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz