[Python-Dev] Re: PEP 505 (None-aware operators) for Python 3.11

2021年10月21日 01:52:32 -0700

Hello,
Le 21/10/2021 à 07:59, Steven D'Aprano a écrit :
> 
> Versions of this that rely on catching AttributeError are simply wrong 
> and are an anti-pattern. They catch too much and silently turn 
> errors into silent wrong behaviour.
> 
> PEP 505 does not fall into that trap.
This is not true as a general rule: the PEP 505 examples with
`dict.get()` do catch too much.
Also, if `None` is not special, you are free to make up your own
`NoValue` sentinel object, which can raise specific exceptions on
attribute access, item access, etc:
class NoValueError(Exception):
 pass
class NoValueAttributeError(AttributeError, NoValueError):
 pass
and so on...
So this particular point seems solvable.
Cheers,
Baptiste
_______________________________________________
Python-Dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/[email protected]/message/J4R3QHH7GNMJAP6VPP2LVXMAAO2YAKU2/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to