最初代码是这样编写的:
except socket.error, err:
print('Socket connection error... Waiting 10 seconds to retry.')
del self.sock
time.sleep(10)
try_count += 1
目的是捕获套接字连接错误,这曾经是错误的,或类似的东西。
但是我在之前的回答中看到socket.error已经从2.6开始被弃用。
我还可以确认3.4标记了一个错误,表示它不支持这种语法。
有谁请知道3.4等值?
答案 0 :(得分:2)
您的问题在于语法,而不是socket.error
:
不推荐使用此python 2代码:
except Exception, e:
赞成
except Exception as e:
所以你想要:
except socket.error as err:
答案 1 :(得分:0)
事实上,{3}在Python 3中已被弃用。您现在可以捕获超类(OSError)。如果想要,你可以检查除了真正引发异常的哪种子类(如ECONNREFUSED)。
socket.error