![]() |
Möglichkeit: Try ... Except ... Finally ?
Hey,
hab ne Syntaxfrage. Wie ist es zu formulieren?
Delphi-Quellcode:
Ist sowas möglich? Hab es gerade ausprobiert, aber Compiler meckert, Illegal Expressen beim finally.
try
begin bla; blubb; end; except begin bam; end; finally puh; Es geht speziell um eine Ini File. Im Try-Block versucht er zu lesen/zu schreiben. Except-Block soll eine Fehlermedlung gezeigt werden, wenn das nicht klappen sollte und Ini.free. Im finally muss ich Ini.free setzen, weil sonst danach garnichts mehr ausgeführt wird. Das ganze findet in einer FormCreate Prozedur statt. Grüße. |
Re: Möglichkeit: Try ... Except ... Finally ?
Entwder
Delphi-Quellcode:
oder
except
Delphi-Quellcode:
finally
|
Re: Möglichkeit: Try ... Except ... Finally ?
Also funktioniert das nicht auf meinem Wege? Mmh. Was bringt mir dann die Try-Except, Try-Finally Option?
Bei Java funktioniert das doch auch. Habe auch versucht Ini.free am Ende des Try-Blocks zu setzen. Bekomme ich allerdings das gleiche Ergebnis, wie wenn ich es außerhalb des Try-Except platziere. Es funktioniert nur, wenn das Ini.Free im Finally-Block sitzt :( |
Re: Möglichkeit: Try ... Except ... Finally ?
finally wird immer aufgerufen.
Delphi-Quellcode:
try
try ... except .. end; finally .. end; |
Re: Möglichkeit: Try ... Except ... Finally ?
Leider hat Delphi hier kein so schönes Konstrukt das man try..except..finally ein einem Block verwenden kann :-(
|
Re: Möglichkeit: Try ... Except ... Finally ?
Zitat:
Entweder except oder finally. Du kannst es so schreiben:
Delphi-Quellcode:
[/quote]
try
bla; blubb; puh; // Hier wird es nur ausgeführt, wenn die zwei befehle vorher korrekt abgearbeitet wurden. except bam; //Das wir ausgeführt, wenn ein Fehler auftritt. end; |
Re: Möglichkeit: Try ... Except ... Finally ?
Was genau das gegengesetzte wäre, was er will
|
Re: Möglichkeit: Try ... Except ... Finally ?
Zitat:
|
Re: Möglichkeit: Try ... Except ... Finally ?
Man muss das wohl schon so machen, wie in #4 beschrieben.
Pseudo-Code:
Delphi-Quellcode:
Ini := TIniFile.Create(Pfad);
try try Ini.ReadSomething except on e: Exception do ShowMessage(e.Message); end; finally Ini.Free; end; |
Re: Möglichkeit: Try ... Except ... Finally ?
Alles klar, da hätte ich auch selbst drauf kommen können :)
Außerdem hatte ich auch nen "begin - end" zu viel drinne :s Vielen Dank für die Hilfe. ---- Hab grad noch schnell Bernaus's Vorschlag probiert. Funktioniert in meinem Fall genauso hervorragend, wie mkinzler's Lösung. Allerdings ist mkinzler's Lösung sicherer :) Danke euch beiden. :) Btw. hatte es schon wie Bernau probiert, jedoch, wie oben schon geschreiben, ein begin - end an der falschen Stelle. :s |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:07 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