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
@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;