AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wichtigkeit von Try...Finally...End

Ein Thema von sir-archimedes · begonnen am 19. Jan 2006 · letzter Beitrag vom 20. Jan 2006
 
tommie-lie
(Gast)

n/a Beiträge
 
#6

Re: Wichtigkeit von Try...Finally...End

  Alt 19. Jan 2006, 19:59
Zitat von Elvis:
btw, dein Problem verstehe ich trotzdem nicht ganz. Das Freigeben des DataSets hätte doch nur duch eine Exception im Destructor vom ProgressDialog verhindert werden können. Die wiederum hätte dir doch auffallen müssen....
Die einzige Konstellation, bei der ich mir vorstellen könnte, daß etwas in die Hose geht, wäre, wenn der Konstruktor von TJvProgressDialog Mist baut, eine Exception wirft *und* Mist zurückgibt. Dann steckt hinter ProgressDialog alles mögliche, nur kein gültiges Objekt. Durch die Exception springt's in den finally-Abschnitt, wo die Methode Free aufgerufen wird, aber da nix Vernünftiges bei rauskommt. Allerdings deutet das auf einen gehörigen Fehler in der RTL hin, wenn ein Konstruktor eine Exception wirft, bleibt zumindest die Instanz des Objektes gültig und ein FreeInstance() sollte nicht fehl schlagen. Aber vielleicht war es ja auch der Code des Destruktors von TJvProgressDialog, der auf unsaubere Felder zugegriffen hat.
Ich bin mir zwar nicht sicher, aber ich meine, bei try..finally wird bei einer Exception im finally-Block auch aus dem finally-Block herausgesprungen, bevor er vollständig abgearbeitet ist. Das wäre die einzige plausible Erklärung, die ich so ohne weiteres wüsste, ohne mich nochmal damit beschäftigen zu müssen, was Delphi da anstellt.


Und Exception-Handling ist performancetechnisch so billich, da kann man lieber mal eins zu viel nehmen als eins zu wenig.
  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 10:08 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