python-3.x - 捕获 Twisted “延迟中未处理的错误:”但它在其他人的代码中
问题描述
我正在使用其他人的模块来处理监听 websocket。
作为我测试的一部分,我发现模拟的互联网中断(通过禁用/启用我的互联网适配器)会导致 twisted.deferred 抛出一个错误,该错误不会被我的异常处理捕获。它似乎只是打印错误消息,而不是传递它?
问题是我无法让它优雅地处理它(例如,在它备份时继续检查互联网连接并恢复进程)。
无论如何我可以“倾听”这些错误并自己捕获它们,还是我需要爬树并重新编码其他人的工作?
我还使用信号模块来捕获“收到的键盘中断信号”以手动停止执行(为简洁起见未显示)。
conn.start()
while True:
try:
time.sleep(1)
except Exception as err:
# Stop streams and logging gracefully
Print('Some other Exception received: ' + err)
conn.close()
user_log.close()
sys.exit(0)
解决方案
推荐阅读
- http - 如果收到“位置”标头,假设页面正在重定向是否安全?
- javascript - 用 html 标签包装 textarea 内容
- python - 为什么 django-dynamic-formset '添加另一个'按钮重复外键字段?
- python - python webkit是否有WebVeiw类
- odoo - 关于 dbfilter 没有在 Odoo 13 上捕获正确的数据库
- ios - 批处理和事务之间的 Firestore 延迟补偿快照返回不同
- reactjs - 将 React js 客户端与 SignalR 连接
- angular - 如何删除 RXJS 中的冗余请求?
- regex - Regexp Ruby 如何与“!=”完全匹配,而不是仅与 =
- javascript - 无法获取编辑页面。使用 mysql 和 javascript 时出错