【发布时间】:2013-08-09 17:41:08
【问题描述】:
我可能以错误的方式处理此问题,但我收到了一个 POST 请求:
response = requests.post(full_url, json.dumps(data))
这可能由于多种原因而失败,有些与数据有关,有些是临时失败,由于端点设计不当,很可能会返回相同的错误(服务器使用无效数据执行不可预测的事情)。为了捕捉这些临时故障并让其他人通过,我认为最好的方法是重试一次,然后在再次引发错误时继续。我相信我可以使用嵌套的 try/except 来做到这一点,但这对我来说似乎是一种不好的做法(如果我想在放弃之前尝试两次怎么办?)
解决方案是:
try:
response = requests.post(full_url, json.dumps(data))
except RequestException:
try:
response = requests.post(full_url, json.dumps(data))
except:
continue
有没有更好的方法来做到这一点?或者,是否有更好的方法来处理潜在的错误 HTTP 响应?
【问题讨论】:
标签: python http exception-handling python-requests