On Sat, 21 Sep 2013 17:16:41 -0400, Terry Reedy <tjre...@udel.edu> wrote: > When an AttributeError is raised in a __del__ method, it is caught and > ignored, except that it is not completely ignored but is replaced by a > warning message sent to stderr. Example: > >>> class C(): > def __del__(self): raise AttributeError > > >>> c=C() > >>> del c > Exception AttributeError: AttributeError() in <bound method C.__del__ of > <__main__.C object at 0x000000000351A198>> ignored
This is a replacement for a traceback. In later Python versions, the full traceback is printed. In the general case it represents a bug in the code that should be fixed. Most such errors arise from the vagaries of module finalization (such as your issue 19021), but not all of them do: the rest represent real bugs in __del__ methods (which are executed asynchronously in the general case). So the question is, is the bug in the user code, or the stdlib code? >From the issue, it sounds like it could be considered either (or most likely, both). --David _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com