Re: [Python-Dev] Revert #12085 fix for __del__ attribute error message

2013年9月21日 15:17:23 -0700

On 2013年9月21日 17:16:41 -0400, Terry Reedy <[email protected]> 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
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to