[Python-Dev] PEP 409 update [was: PEP 409 - final?]

Ethan Furman ethan at stoneleaf.us
Fri Feb 3 17:52:08 CET 2012


Yury Selivanov wrote:
> Re "raise ValueError from ..."
>> So what does it mean now? Just resetting __cause__ to make __context__ printed?

Whatever __cause__ was before (None, or an actual exception), it is now 
Ellipsis -- so __context__ will be printed and the exception chain will 
be followed.
> Can you show the down-to-earth snippet of code where such syntax would be useful?

Not sure I'll ever use it this way, but:
try:
 try:
 raise IndexError()
 except:
 raise CustomError() from None
except CustomError as e:
 # nevermind, let's see the whole thing after all
 raise e from Ellipsis
~Ethan~


More information about the Python-Dev mailing list

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