我有一个try/except块发送消息并等待客户端的确认。如果客户端终止,pickle会引发EOFError,但下面的代码不会捕获错误并执行正常关闭。它反而打印堆栈跟踪。我认为它必须做的“除了socket.error,EOFError:” - 我使用错误的语法来处理socket.error和EOFError那里?Python:除了EOFError:...不起作用
try:
msgs = [1]
self.sock.send(pickle.dumps(msgs))
rdy = pickle.loads(self.sock.recv(2097152))
except socket.error, EOFError:
print 'log socketmanager closing'
self.terminate()
break
对于python来说,这非常不直观,谢谢你的信息。 – 2011-03-12 20:51:51