def retry(times=1,exceptions=None):
exceptions = exceptions if exceptions is not None else Exception
def wrapper(func):
def wrapper(*args,**kwargs):
last_exception =None
for _ in range(times):
try:
return func(*args, **kwargs)
except exceptions as e:
last_exception = e
raise last_exception
return wrapper
return wrapper
if __name__=="__main__":
@retry(5)
def test():
print("do something")
raise Exception
test()
