AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Der Konstruktor ist abgestürzt - Wie gehe ich im Destruktor am besten vor?
Thema durchsuchen
Ansicht
Themen-Optionen

Der Konstruktor ist abgestürzt - Wie gehe ich im Destruktor am besten vor?

Ein Thema von Der schöne Günther · begonnen am 11. Apr 2013 · letzter Beitrag vom 12. Apr 2013
 
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Der Konstruktor ist abgestürzt - Wie gehe ich im Destruktor am besten vor?

  Alt 11. Apr 2013, 14:31
Es ist einer der Fälle, der nicht passieren sollte. Ähnliches habe ich schonmal in Sachen Beenden abgestürzter Threads angestoßen ("Wie beende ich einen TThread freundlich und notfalls gewaltsam?") - Trotzdem möchte ich mich darum kümmern.

Folgende Annahme: Der Konstruktor eines Objekts läuft nicht durch, irgendwo mittendrin fliegt er mit einer Exception raus. Wenn ich es richtig verstanden habe, wird nun das Exception-Objekt erzeugt, der Destruktor des Objekts aufgerufen und anschließend die Exception "nach oben gereicht".

Es geht um den Destruktor: Hier muss man nun aufpassen, keine Objekte zu zerstören die vom Konstruktor noch nicht angelegt worden sind.

Wie handelt Ihr hier?
  • Bei jeder einzelen Freigabe prüfen, ob es überhaupt etwas freizugeben gibt?
  • Vielleicht sogar eine Instanzvariable die angibt, ob der Konstruktor einwandfrei durchgelaufen ist um darauf im Destruktor reagieren zu können?
  • Oder noch ganz andere Dinge die zu beachten sind?

Ich bin gespannt
  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 20:20 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