Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Code nach finally wird nicht ausgeführt (https://www.delphipraxis.net/32596-code-nach-finally-wird-nicht-ausgefuehrt.html)

Luckie 25. Okt 2004 22:46


Code nach finally wird nicht ausgeführt
 
Ich arbeite gerade an meinem Exception Tutorial. Dafür habe ich folgendes Demo entwicklet:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
begin
  try
    i := 5;
    ShowMessage(IntToStr(i));
    exit;
  finally
    i := 0;
  end;
  ShowMessage(IntToStr(i));
end;
Jertzt musste ich zwar festellen, dass das letzte ShowMessage zwar kompiliert wird, es wird nur nicht aufgerufen beim Ausführen. Woran liegt das? :shock: Die Optimierung, habe ich schon deaktiviert.

Dax 25. Okt 2004 22:51

Re: Code nach finally wird nicht ausgeführt
 
Wenn ich die OH richtig verstanden habe, wird bei einem Exit in einem try-Block der finally- bzw. except-Teil noch ausgeführt, danach springt das Programm aus der Prozedur/Funktion raus.

Luckie 25. Okt 2004 23:11

Re: Code nach finally wird nicht ausgeführt
 
*patsch* :oops: Genau das war es. Danke.

Robert_G 25. Okt 2004 23:41

Re: Code nach finally wird nicht ausgeführt
 
exit ähnelt dem RETURN aus anderen Sprachen. ;)

Luckie 25. Okt 2004 23:56

Re: Code nach finally wird nicht ausgeführt
 
Ich weiß. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:33 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