python - 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()
就像上面我每次必须处理超时并提高服务不可用时一样。我想要一些通用的东西,只要发生超时,它就会引发服务不可用。
解决方案
使用不同的方式解决了问题。我正在使用烧瓶,所以我为超时异常添加了一个错误处理程序
@app.errorhandler(requests.exceptions.Timeout)
def third_party_communication_handler(e):
raise ServiceUnavailable()
推荐阅读
- mysql - Mysql 更新相关表时出现错误 1442
- python - 如何根据另一个表的列填充列?
- java - 如何使用非对称加密在另一个应用程序中解密来自一个应用程序的文本?
- xamarin - Xamarin Forms ListView 取消 ItemSelected 事件
- firebase - Vuejs 和 Firebase 存储问题。未捕获的类型错误:存储不是函数
- php - 将可点击的电话号码添加到 php 邮件
- asp.net-core - 使用 VS2019 和 ASP.NET 核心通过 SSH 附加到进程不起作用
- r - 在 R 中拆分()之后保持数据的原始顺序
- javascript - 为通过 window.open() 打开的外部页面应用 CSS
- html - 粘性侧边栏在 Firefox 中没有正确的顶部空间