On 2/18/2014 11:47 AM, Chris Angelico wrote:
I call this "Russian Exception Roulette". It came about because of
some discussions on python-ideas regarding the new PEP 463 and
exception handling.

try:
     exc = getattr(__builtins__,random.choice(list(filter(lambda x:
x.endswith("Error"),dir(__builtins__)))))
     f()
except exc:
     print("You win!")

Given a function f(), defined elsewhere, what will this do?

I am not sure what you are asking or what your point is. If f happens to raise the randomly selected exception, it prints 'You win!', otherwise it does nothing.

Note that this was developed on Python 3.4, and some of the details
may be different on other versions (especially 2.x).



--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to