Python批量请求API时如何统计HttpError错误数且不中断循环执行
代码修改方案
首先你需要先从对应的依赖库导入HttpError(以常用的google api client为例,导入路径如下,可根据你实际使用的请求库调整):
from googleapiclient.errors import HttpError
修改后的函数代码如下:
def update_conversions(service): fail_count = 0 for req in request_bodies: try: request = service.conversion().update(body=req) # 若你的请求需要调用execute()才会实际发送,取消下一行注释并保留在try块内 # response = request.execute() except HttpError: fail_count += 1 # 返回错误总数,调用时即可赋值给变量 return fail_count # 调用示例,直接拿到HTTP错误总数 http_error_total = update_conversions(your_service_instance)
改动说明
- 初始化计数器变量
fail_count,初始值为0,每次捕获到HttpError时自动加1,最终统计值就是所有HTTP错误的总数 - 将原有的笼统
Exception捕获调整为仅捕获HttpError,避免误吞其他意料之外的异常(比如服务连接错误、代码语法错误等),如果需要捕获所有请求相关异常可以自行调整捕获范围 - 函数末尾返回统计完成的失败计数,调用函数时直接赋值给变量即可获取总失败数,完全不会中断循环执行
内容的提问来源于stack exchange,提问作者Ben P
相关产品推荐
相关产品推荐

