Destruktor bei Exceptions
-
Wird, wenn ich in einer Methode meiner Klasse 'Test' eine Exception werfe, der Destruktor aufgerufen?
-
Ob der Destruktor aufgerufen wird hat nichts damit zu tun ob die Exception aus einer Methode oder von sonst wo geworfen wird, sondern nur damit, ob der Scope in dem dein Objekt lebt verlassen wird oder nicht.
-
Nein, denn da das Objekt vor Ablauf des Konstruktors nicht vollständig konstruiert wurde, macht es keinen Sinn des Destruktor aufzurufen. Es werden aber die Destruktoren aller bis zum Punkt der Exception vollständig konstruierten Unterobjekte aufgerufen...
Edit: Die Antwort auf das Problem, welches deine Frage motiviert hat, lautet vermutlich RAII.
-
dot schrieb:
Nein, denn da das Objekt vor Ablauf des Konstruktors nicht vollständig konstruiert wurde, macht es keinen Sinn des Destruktor aufzurufen. Es werden aber die Destruktoren aller bis zum Zeitpunkt der Exception vollständig konstruierten Unterobjekte aufgerufen...
Lies die Frage noch mal.

-
cooky451 schrieb:
dot schrieb:
Nein, denn da das Objekt vor Ablauf des Konstruktors nicht vollständig konstruiert wurde, macht es keinen Sinn des Destruktor aufzurufen. Es werden aber die Destruktoren aller bis zum Zeitpunkt der Exception vollständig konstruierten Unterobjekte aufgerufen...
Lies die Frage noch mal.

hui, da hat mein Hirn mir tatsächlich Sinn vorgegaukelt, wo nie welcher war...

-
Die Frage kann schon Sinn ergeben, wenn die Methode
Testim Konstruktor aufgerufen wird. Wird sie das?