[Python-Dev] TypeError messages

Brett Cannon brett at python.org
Fri Feb 20 15:05:11 CET 2015


On Thu Feb 19 2015 at 5:52:07 PM Serhiy Storchaka <storchaka at gmail.com>
wrote:

> Different patterns for TypeError messages are used in the stdlib:
>
>      expected X, Y found
>      expected X, found Y
>      expected X, but Y found
>      expected X instance, Y found
>      X expected, not Y
>      expect X, not Y
>      need X, Y found
>      X is required, not Y
>      Z must be X, not Y
>      Z should be X, not Y
>
> and more.
>
> What the pattern is most preferable?
>

My preference is for "expected X, but found Y".


>
> Some messages use the article before X or Y. Should the article be used
> or omitted?
>
> Some messages (only in C) truncate actual type name (%.50s, %.80s,
> %.200s, %.500s). Should type name be truncated at all and for how limit?
>

I assume this is over some worry of string size blowing out memory
allocation or something? If someone can show that's an actual worry then
fine, otherwise I say don't truncate.


> Type names newer truncated in TypeError messages raised in Python code.
>
> Some messages enclose actual type name with single quotes ('%s',
> '%.200s'). Should type name be quoted? It is uncommon if type name
> contains spaces.
>

 I agree that type names don't need to be quoted.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20150220/610efe1a/attachment.html>


More information about the Python-Dev mailing list