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

Benjamin Peterson benjamin at python.org
Mon Feb 27 20:27:39 CET 2012


2012年2月27日 Ethan Furman <ethan at stoneleaf.us>:
> 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`?

Yes.
-- 
Regards,
Benjamin


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /