Einzelnen Beitrag anzeigen

Der schöne Günther

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

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

  Alt 11. Apr 2013, 15: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