AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi finally wird nach exit nicht abgearbeitet
Thema durchsuchen
Ansicht
Themen-Optionen

finally wird nach exit nicht abgearbeitet

Ein Thema von messie · begonnen am 10. Dez 2012 · letzter Beitrag vom 11. Dez 2012
Antwort Antwort
jsheyer

Registriert seit: 9. Jun 2005
Ort: Jüchen
90 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: finally wird nach exit nicht abgearbeitet

  Alt 11. Dez 2012, 14:28
Hallo,

vielleicht bin ich ja gerade im falschen Film, aber wird mit exit, nicht direkt die ganze procedure verlassen und daher greift das nicht??
Ich hätte an der Stelle ja auch ein break; benutzt um nur die while Schleife zu beenden.
Ansonsten stimme ich natürlich messie zu

LG
Jörg
Jörg Heyer
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.989 Beiträge
 
Delphi 12 Athens
 
#2

AW: finally wird nach exit nicht abgearbeitet

  Alt 11. Dez 2012, 14:32
vielleicht bin ich ja gerade im falschen Film, aber wird mit exit, nicht direkt die ganze procedure verlassen und daher greift das nicht??
Ja, bist du.
Finally-Blöcke werden trotz Exit oder einer Exception abgearbeitet, genau dafür sind sie da: Um immer abgearbeitet zu werden um aufzuräumen, egal was passiert ist.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: finally wird nach exit nicht abgearbeitet

  Alt 11. Dez 2012, 14:41
Ein "Exit" zwischen Try-Finally/Except löst eine Stille Exception aus, ähnlich dem Abort.
Damit rauscht der Exit-Aufruf durch alle Finally-Blöcke durch, bis hin zum END der Prozedur/Funktion, wo diese Exit-Exception in einem impliziten Try-Finally dann abgefangen und die Prozedur verlassen wird.

Also ja, Exit führt auch die Finallies us.


- ohne Try-Except/Finally ist es ein JUMP zum Prozedur-Ende
- mit Try-Except/Finally ist es eine "Exception"
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (11. Dez 2012 um 14:44 Uhr)
  Mit Zitat antworten Zitat
jsheyer

Registriert seit: 9. Jun 2005
Ort: Jüchen
90 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: finally wird nach exit nicht abgearbeitet

  Alt 11. Dez 2012, 14:44
Danke für das auf die Sprünge helfen
Da ich das in so einer konstellation nach Möglichkeit nicht benutze, war ich mir nicht sicher.
Aber man lernt ja nie aus

LG
Jörg
Jörg Heyer
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: finally wird nach exit nicht abgearbeitet

  Alt 11. Dez 2012, 14:56
Exit ist ok, nehme ich in der Regal auch, aber kennst du Abort? Das ist eine Stille Exception. Damit geht es bewußt in den Finally oder Except Block.
  Mit Zitat antworten Zitat
jsheyer

Registriert seit: 9. Jun 2005
Ort: Jüchen
90 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: finally wird nach exit nicht abgearbeitet

  Alt 11. Dez 2012, 15:05
ja klar, kenne ich.
Das benutze ich auch schon mal zum testen, was passiert wenn an einer bestimmten Stelle die Ausführung abbrechen würde.
Jörg Heyer
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:41 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