try/except由于以下行,我在 Python2 中有这个块不能在 Python3 中运行except socket.error as (code, msg):
try:
(conn, (ip,port)) = tcpServer.accept()
except socket.error as (code, msg):
if code != errno.EINTR:
raise
else:
break
Run Code Online (Sandbox Code Playgroud)
Python3 中的等价物是什么?有没有一种方法适用于两个 Python 版本?
根据删除旧例外的PEP PEP 3151,这种方式应该有效:
try:
(conn, (ip,port)) = tcpServer.accept()
except socket.error as e:
if e.errno != errno.EINTR:
raise
else:
break
Run Code Online (Sandbox Code Playgroud)
需要注意的是在Python> 3.3socket.error是一个过时的别名为OSError。
| 归档时间: |
|
| 查看次数: |
1342 次 |
| 最近记录: |