我意识到这是一个低级的问题,所以提前道歉。我开始编写脚本的时间太长了,我不经常使用python
我想检查我下面的循环是否正常。如果尝试成功,它应该以break退出循环。如果在循环结束后尝试失败,它应该在最后打印消息。在以下情况下是否预期:
for n in range(0, 5):
try:
return connect.service.reports().batchGet(
body = load_request
).execute()
except HttpError as error:
if error.resp.reason in ['userRateLimitExceeded', 'quotaExceeded', 'internalServerError', 'backendError']:
time.sleep((2 ** n) + random.random())
elif 'The service is currently unavailable' in str(error):
time.sleep((2 ** n) + random.random())
break
print("There has been an error, the request never succeeded.")
到达
break
的唯一方法是引发异常;毫无例外,函数会立即返回。只需完全删除break
语句。到达最后的print
调用的唯一方法是循环自然退出,没有异常被引发或捕获相关问题 更多 >
编程相关推荐