[Python-Dev] Standardize error message for non-pickleable types

Glenn Linderman v+python at g.nevcal.com
Tue Oct 30 13:49:38 EDT 2018


On 10/30/2018 1:12 AM, Serhiy Storchaka wrote:
> 29.10.18 23:17, MRAB пише:
>> 1. If you're pickling, then saying "pickle" is more helpful.
>>
>> 2. In English the usual long form is "cannot". Error messages tend to 
>> avoid abbreviations, and also tend to have lowercase after the colon, 
>> e.g.:
>>
>>      "ZeroDivisionError: division by zero"
>>
>>      "ValueError: invalid literal for int() with base 10: 'foo'"
>>
>> 3. If it's failing on an object (singular), then it's clearer to say 
>> "object".
>>
>> 4. Articles tend to be omitted.
>>
>> 5. Error messages tend to have quotes around the type name.
>>
>> Therefore, my preference is for:
>>
>>      "cannot pickle 'XXX' object"
>
> Thank you Matthew, I'll use your variant.
>
> Will something change the fact that in all these cases the pickling 
> will be failed not just for specific object, but for all instances of 
> the specified type?
That's why I suggested "object of type 'XXX'", to leave the type in a 
more prominent position, as it is generally more important to the issue 
than the object.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20181030/172d8578/attachment.html>


More information about the Python-Dev mailing list