Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #66642

Re: Bad Code Snippet of the Day

From Terry Reedy <tjreedy@udel.edu>
Subject Re: Bad Code Snippet of the Day
Date 2014-02-18 15:41 -0500
References <CAPTjJmqAAG+oxKKq=fDEA4bDHTcDO5dXZbJgR3VK98fg9xwC1Q@mail.gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.7122.1392756159.18130.python-list@python.org> (permalink)

Show all headers | View raw


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

Back to comp.lang.python | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Re: Bad Code Snippet of the Day Terry Reedy <tjreedy@udel.edu> - 2014-02-18 15:41 -0500
  Re: Bad Code Snippet of the Day Roy Smith <roy@panix.com> - 2014-02-18 20:13 -0500

csiph-web