How to retry after exception? How to retry after exception? python python

How to retry after exception?


Do a while True inside your for loop, put your try code inside, and break from that while loop only when your code succeeds.

for i in range(0,100):    while True:        try:            # do stuff        except SomeSpecificException:            continue        break


I prefer to limit the number of retries, so that if there's a problem with that specific item you will eventually continue onto the next one, thus:

for i in range(100):  for attempt in range(10):    try:      # do thing    except:      # perhaps reconnect, etc.    else:      break  else:    # we failed all the attempts - deal with the consequences.


The retrying package is a nice way to retry a block of code on failure.

For example:

@retry(wait_random_min=1000, wait_random_max=2000)def wait_random_1_to_2_s():    print("Randomly wait 1 to 2 seconds between retries")