[Python-Dev] TypeError messages

Antoine Pitrou solipsis at pitrou.net
Sat Feb 21 18:14:22 CET 2015


On Fri, 20 Feb 2015 14:05:11 +0000
Brett Cannon <brett at python.org> wrote:
> 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".

If we are busy nitpicking, why are we saying "found Y"? Nothing was
*found* by the callee, it just *got* an argument.

So it should be "expected X, but got Y".

Personally, I think the "but" is superfluous: the contradiction is
already implied, so "expected X, got Y" is terser and conveys the
meaning just as well.

Regards

Antoine.




More information about the Python-Dev mailing list