On Tue, Apr 26, 2016 at 11:38:30PM +0200, Armin Rigo wrote:
> Hi,
> 
> On 26 April 2016 at 19:02, Carl Friedrich Bolz <cfb...@gmx.de> wrote:
> > Those are simple cases, of course we use the same exception types there.
> > However, if you write exactly the wrong obscure code you sometimes get a
> > different exception type under some conditions.
> 
> That's about TypeError versus AttributeError for some attributes of
> built-in types in corner cases.  That's not about ValueError.  For example:
> 
> >>> def f(): pass
> >>> del f.__closure__
> 
> You get a TypeError in CPython, but an AttributeError in PyPy.  That's
> because PyPy doesn't have the same zoo of built-in attribute types of
> CPython.  For most purposes it doesn't make a difference, but it turns
> out that in this case half of these types raise AttributeError and the
> other half raises TypeError in CPython.

Ah, that makes sense!



-- 
Steve
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to