On 26 September 2013 15:42, Armin Rigo <ar...@tunes.org> wrote:
> Hi Nick,
>
> On Thu, Sep 26, 2013 at 6:59 AM, Nick Coghlan <ncogh...@gmail.com> wrote:
>>> I'm strongly in favour of Georg's one ("Exception in __del__ caught and not 
>>> propagated").
>>
>> Such a change is highly unlikely to happen, as it would require
>> changing every location where we call PyErr_WriteUnraisable.
>
> Er, why?  It seems to me it's a matter of changing these three lines
> in PyErr_WriteUnraisable():
>
> -           PyFile_WriteString("Exception ignored in: ", f);
> +          PyFile_WriteString("Exception in ", f);
>             PyFile_WriteObject(obj, f, 0);
> -           PyFile_WriteString("\n", f);
> +          PyFile_WriteString(" caught and not propagated:\n", f);
>
> I don't see what makes this technically different from the other
> solution, "Cannot propagate exception..."

Sure, that's doable, but it dumps the full repr of "obj" in the middle
of the sentence. The thing that's not practical is the neat and tidy
wording Georg proposed, because the thing passed as "obj" is actually
an arbitrary Python object that may have a messy repr (like a bound
method, which is what gets passed in the __del__ case), so there's
definite merit in keeping that repr at the *end* of the header line.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
_______________________________________________
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

Reply via email to