[Python-ideas] Retrying EAFP without DRY (original) (raw)

Ron Adam ron3200 at gmail.com
Sat Jan 21 03:24:30 CET 2012


On Fri, 2012-01-20 at 16:36 -0800, Mike Meyer wrote:

The behavior change from except is that instead of exiting the "try" statement when the "retry" clause ends, it restarts the try clause. In python, this code:

try: # try block except: # except block retry: # retry block else: # else block finally: # finally block Would provide the same behavior as this code: while True: try: # try block except: # except block retry: # retry block else: # else block finally: # finally block break

This looks like it would be very tricky to get right from a python programming stand point. Remember that python is full of one time iterators that won't repeat properly on a second try. Also many function calls mutate the arguments. So it's possible that a data structure could be changed on the first try, and give different results on a second try in an unexpected way.

Cheers, Ron



More information about the Python-ideas mailing list