相当于“除外套接字错误在python3中为(code,msg)”

2024-06-01 12:41:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python2中有一个try-except块,由于except socket.error as (code, msg)行而不能在python3中运行

try:
    (conn, (ip,port)) = tcpServer.accept()
except socket.error as (code, msg):
    if code != errno.EINTR:
        raise
    else:
        break

Python3中的等价物是什么?有没有一种方法可以同时在两个python版本中工作?在


Tags: ipifportascodemsgerrorsocket
1条回答
网友
1楼 · 发布于 2024-06-01 12:41:12

根据删除旧异常的政治公众人物PEP 3151,这种方法应该有效:

try:
    (conn, (ip,port)) = tcpServer.accept()
except socket.error as e:
    if e.errno != errno.EINTR:
        raise
    else:
        break

请注意,在Python>;3.3中,socket.errorOSError的别名。在

相关问题 更多 >