我试图修补一个库来捕获[Errno 32] Broken pipe
。在
这个库是用python2和python3编写的。在python2中,异常是
socket.error: [Errno 32] Broken pipe
在Python>;=3.3中,它是一个
^{pr2}$在python3.2中没有实现BrokenPipeError
。有一个socket.error
,但它的quite a different description比in Python 2多。在
我的系统上安装了DebianStretch,所以安装Python3.2似乎很难检查,在这个版本中我必须捕捉到这个异常。不过,我不想破坏python3.2中的库。在
因此,如果您能告诉我在Python3.2中哪个异常是捕获断管错误的最具体的异常,这将非常有帮助。在
从你链接的文档来看,你应该套接字错误. 然后检查.errno属性是否厄尔诺。埃皮普,如果是,则这是您想要的,如果不是,则重新引发异常。在
链接到https://travis-ci.org/Mic92/python-mpd2/jobs/105030049的后续错误看起来是由测试文件https://github.com/Mic92/python-mpd2/blob/master/test.py#L42模拟整个套接字包(包括套接字错误). 通过快速查看代码,您可以只模仿
socket.socket
,其余的保持原样。在相关问题 更多 >
编程相关推荐