成功尝试时中断循环

2024-04-27 04:17:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我意识到这是一个低级的问题,所以提前道歉。我开始编写脚本的时间太长了,我不经常使用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.")

Tags: in脚本fortimerequestservice时间情况
1条回答
网友
1楼 · 发布于 2024-04-27 04:17:26

到达break的唯一方法是引发异常;毫无例外,函数会立即返回。只需完全删除break语句。到达最后的print调用的唯一方法是循环自然退出,没有异常被引发或捕获

相关问题 更多 >