gpt4 book ai didi

python - Python3 中的 "except socket.error as (code, msg)"是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 14:40:09 27 4
gpt4 key购买 nike

我在 Python2 中有这个 try/except block ,由于行 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 版本?

最佳答案

根据删除旧异常的 PEP,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.errordeprecated alias对于 OSError

关于python - Python3 中的 "except socket.error as (code, msg)"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54046471/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com