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
