[Cython] __dealloc__ called even if __cinit__ failed
Jeroen Demeyer
jdemeyer at cage.ugent.be
Mon Oct 5 16:04:36 CEST 2015
Hello,
I'm not entirely sure if this is a feature or bug...
I noticed that, if a __cinit__ call raises an exception on an object,
that __dealloc__ on that same object is still called.
The problem is that __cinit__ is supposed to set up the C-level
attributes for that object. If this somehow fails, then the object isn't
in a consistent state yet, so it makes no sense to call __dealloc__ on it.
Do you consider this a Cython bug or should I manually protect my code
against this?
Thanks,
Jeroen.
More information about the cython-devel
mailing list