在Python 2和Python 3中捕获管道中断

在Python 2和Python 3中捕获管道中断,第1张

在Python 2和Python 3中捕获管道中断

如果您关心的只是管道破裂的错误,那么您可能想抓住

socket.error
并简单地检查它是否确实是管道破裂的错误。

您可以使用

errno
Python 2和Python 3中都存在的异常属性来执行此 *** 作,这意味着您不需要使用不同的Python 2 vs.
3逻辑(我认为这样的意图会更加清晰):

import socketimport errnotry:    do_something()except socket.error as e:    if e.errno != errno.EPIPE:        # Not a broken pipe        raise    do_something_about_the_broken_pipe()

如果您关心的不只是管道破裂,那么fourtheye的回答是恰当而惯用的。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5663170.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存