由于行except socket.error as (code, msg)
,我在python2中有一个try-except块无法在python3中运行
try:
(conn, (ip,port)) = tcpServer.accept()
except socket.error as (code, msg):
if code != errno.EINTR:
raise
else:
break
python3中的等效项是什么?有没有一种方法可以在两个python版本中使用?
答案 0 :(得分:2)
根据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.error
是OSError
的别名。