Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#25

AW: Fehlertoleranz DELPHI Compiler

  Alt 28. Nov 2012, 12:31
Die Aussage ist ja in sich schon widersprüchlich; entweder ein Objekt wird noch verwendet, dann kann es aber nicht gleichzeitig tot sein. Oder aber es wird nicht mehr verwendet, dann wird es der GC auch wegräumen
Das Objekt ist tot, wenn es von der "zuständigen Stelle" freigegeben wird.
Ab dann sind Zugriffe auf das Objekt von anderer Stelle aus (Referenzen) darauf grundsätzlich fehlerhaft.
Entweder werden
a) vor kurzem noch korrekte Daten benutzt, die inzwischen aber im Projektkontext keine Gültigkeit mehr haben
b) komplett ungültige Daten benutzt, weil die Speicherstellen inzwischen überschrieben wurden
c) knallt es weil Methoden auf Grund eines überschriebenen Speichers nicht mehr ausführbar sind

Ein GC sichert ab, dass nur Problem a) entsteht. Aber eine ausreichende Lösung ist das noch nicht.
Im Spiel könnte so noch auf das Raumschiff zugeriffen werden, obwohl es eigentlich schon explodiert ist. Jetzt kann man streiten ob das besser ist als eine Exception.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat