У меня есть блок try / исключением, который отправляет сообщение и ожидает подтверждения от клиента.Если клиент завершает работу, pickle вызывает ошибку EOFError, но приведенный ниже код не улавливает ошибку и не выполняет корректное завершение работы.Вместо этого он печатает трассировку стека.Я предполагаю, что это связано со строкой «кроме socket.error, EOFError:» - я использую неправильный синтаксис для обработки там и socket.error, и 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