[Python-Dev] PEP 415: Implementing PEP 409 differently

Ethan Furman ethan at stoneleaf.us
Mon Feb 27 19:22:05 CET 2012


Benjamin Peterson wrote:
> 2012/2/26 Nick Coghlan <ncoghlan at gmail.com>:
>> Thanks for writing that up. I'd be amenable if the PEP was clearly
>> updated to say that ``raise exc from cause`` would change from being
>> syntactic sugar for ``_hidden = exc; _hidden.__cause__ = cause; raise
>> exc`` (as it is now) to ``_hidden = exc; _hidden.__cause__ = cause;
>> _hidden.__suppress_context__ = True; raise exc``. The patch should
>> then be implemented accordingly (including appropriate updates to the
>> language reference).
> 
> I add the following lines to the PEP:
> 
> To summarize, ``raise exc from cause`` will be equivalent to::
> 
>     exc.__cause__ = cause
>     exc.__suppress_context__ = cause is None
>     raise exc

So exc.__cause__ will be None both before and after `raise Exception 
from None`?

~Ethan~


More information about the Python-Dev mailing list