Edgar Ehritt: (PYTHON) Exception in __init__ - Objekt erzeugt oder nicht?

Beitrag lesen

Re:

  
class foo:  
    def __init__(self,name):  
        self.name=name  
        self.do_something()  
        raise RuntimeError, 'Something went wrong'  
    def do_something(self):  
        print 'If you see this sentence, then an object was actually created.'  
  
try:  
    foo_object = foo('huhu')  
except RuntimeError, strerror:  
    print strerror  

Okay, die Initialisierung wird nicht abgeschlossen, aber diese erfolgt doch erst *nach* der Objekterzeugung.

Das ist das Eigenwillige daran. Das Objekt ist (bereits) erzeugt, beim Aufruf von __init__() sind andere Methoden, wie oben zu sehen, aufrufbar.
Lustig - nicht?

Gruß aus Berlin!
eddi

--
Diese Nachricht ist made in Rixdorf und wurde mittels 100% recycelter Elektronen verfasst.
Und der Strom? Äh - kommt aus der Steckdose! :)