Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#23

Re: ersetzt try..except begin..end?

  Alt 20. Sep 2007, 12:08
@Messie:

Zitat:
Warum wäre das falsch? Es ist nicht dieselbe Funktion aber warum nicht?
Überlege mal ab wann die Variable Object wirklich ein gültiges Object enthalten kann.

Erst nachdem der Konstruktor erfolgreich zurückkehrt.

Und was würde passieren wenn der Konstruktor eine Exception auslösst ? Zb. wegen's Speichermangel oä. ?
Dann würden wir sofort im finally end; Block landen. Ist dann die Variable Object wirklich initialisert wurden ?
Nein, in Object würde irgendwas stehen, also vorherige Daten aus dem Stack oder einem CPU Register. Wozu führt dies ?
Das bei Object.Free; wir ein Object freigeben würden das garnicht also solches existent ist. Nur wenn Object durch dummen Zufall nil =$00000000 wäre würde es keine Zugriffsveretzung geben. Dieser Fall tritt mit exakt 1/2^32 Wahrscheinlichkeit ein, also sehr unwahrscheinlich.

Gruß Hagen
  Mit Zitat antworten Zitat