首页 > 解决方案 > python请求通用异常处理

问题描述

在我的代码中,所有请求都有一个超时期限。对于每个请求,我都必须处理 Timeout 异常。有没有办法在请求中附加一个全局超时异常处理程序?

try:
  request = requests.post(url=url1, data=data, headers=headers, timeout=Config.REQUEST_TIMEOUT)
except Timeout:
  raise ServiceUnavailable()

try:
  request = requests.post(url=url2, data=data, headers=headers, timeout=Config.REQUEST_TIMEOUT)
except Timeout:
  raise ServiceUnavailable()

就像上面我每次必须处理超时并提高服务不可用时一样。我想要一些通用的东西,只要发生超时,它就会引发服务不可用。

标签: pythonpython-requests

解决方案


使用不同的方式解决了问题。我正在使用烧瓶,所以我为超时异常添加了一个错误处理程序

@app.errorhandler(requests.exceptions.Timeout)
def third_party_communication_handler(e):
    raise ServiceUnavailable()

推荐阅读