2024-04-19 19:45:59 发布
网友
如何用pythonic的方式重写这个代码?你知道吗
tried = 0 while tried < 3: try: function() break except Exception as e: print e tried += 1
有我可以使用的内置函数吗?你知道吗
做N次某件事的一种更为python的方法是使用xrange和_变量:
xrange
_
for _ in xrange(3): try: function() break except Exception as e: print e
另外,考虑捕获更具体的异常,而不是根Exception类。你知道吗
Exception
它几乎和你写的一样,只是你需要在while行的末尾加一个冒号,然后把分隔符移到“try”块。你知道吗
您可以使用retry decorator:
@retries(3) def execTask(): f()
一个比所提供链接中的更简单的方法如下所示:
def retry(times=3): def do_retry(f, *args, **kwargs): cnt = 0 while cnt < times: try: f(*args, **kwargs) return except: cnt += 1 return do_retry
可以这样使用:
@retry(3) def test(): print("Calling function") raise Exception("Some exception")
做N次某件事的一种更为python的方法是使用
xrange
和_
变量:另外,考虑捕获更具体的异常,而不是根
Exception
类。你知道吗它几乎和你写的一样,只是你需要在while行的末尾加一个冒号,然后把分隔符移到“try”块。你知道吗
您可以使用retry decorator:
一个比所提供链接中的更简单的方法如下所示:
可以这样使用:
相关问题 更多 >
编程相关推荐