【发布时间】:2021-11-26 06:26:20
【问题描述】:
我有一些代码正在生成以下响应:
请求失败:Google 返回了带有代码 429 的响应。
即使我正在打印 err 变量,我也无法触发任何这些 if 语句,因此我确切地知道它在说什么。我在这里做错了什么?
try:
<---irrelevant code--->
except (ResponseError, RuntimeError, TypeError, NameError, KeyError) as err:
print("Key error: {}. {}, while querying {} pausing".format(KeyError, err, stock))
if err == 429:
print("429 error")
<---more actions--->
if err == "The request failed: Google returned a response with code 429."
print("429 error")
<---more actions--->
【问题讨论】:
-
您说它正在产生“响应”-您的意思是说它正在“引发异常”。有很大的不同。响应将是一个字符串,不会被您的
except:逻辑捕获。 -
我怀疑错误信息是 int 类型,你应该使用
'429' -
显示minimal reproducible example。尤其取决于您使用的是哪个库,确定是否发生错误并获取状态码的方式可能会有所不同。
-
err的类型是相关的Exception类之一。它永远不会等于 int 或 string... -
这能回答你的问题吗? python exception message capturing
标签: python