[Python-ideas] Retrying EAFP without DRY (original) (raw)
Ron Adam ron3200 at gmail.com
Sat Jan 21 03:24:30 CET 2012
- Previous message: [Python-ideas] Retrying EAFP without DRY
- Next message: [Python-ideas] Retrying EAFP without DRY
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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
- Previous message: [Python-ideas] Retrying EAFP without DRY
- Next message: [Python-ideas] Retrying EAFP without DRY
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]