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

Nick Coghlan ncoghlan at gmail.com
Tue Sep 24 09:25:10 CEST 2013

On 24 September 2013 08:29, Antoine Pitrou <solipsis at pitrou.net> wrote:
> On Mon, 23 Sep 2013 14:38:48 -0700
> Ethan Furman <ethan at stoneleaf.us> wrote:
>> > But that's because you already know what it's supposed to convey. The
>> > average user doesn't, and only sees "unraisable".
>> All the more reason to have text in the error message that is easily searchable.
> Then I propose "CA6yuaYV6dygPfJRxUrhtg". It should be easily
> searchable ;-)
> Seriously, "easily searchable" is a rather weak criterion for an
> error message. It should be easily understandable and non-misleading
> first.

You are setting the bar unreasonably high for an error message that
has to convey a complex concept in as few words as possible. There is
*NO* wording that can concisely express the concepts involved without
resorting to jargon, because the concepts behind it are *complex and
unintuitive*. The current wording is flat out wrong, because the
exception isn't being ignored, it's being printed to stderr. If it was
genuinely being ignored, people wouldn't complain about it.

Jargon that can be easily looked up with a search engine is greatly
superior to a message that is simply wrong, as the former provides a
gateway to understanding, just like coming across a word you don't
understand when reading a novel. Preferring the status quo because
you're holding out a forlorn hope for a concise wording that explains:

- there are places where exceptions may occur but the interpreter
can't reraise them
- this is one of those cases, so we're printing it to stderr instead

*without users needing to do any research*.

A verbose wording is no good either, as that degenerates into a wall
of text that people will *still* have to extract pieces from to plug
into a search engine to figure out what they mean.


Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia

More information about the Python-Dev mailing list