Подтвердить что ты не робот

Catch "socket.error: [Errno 111] Соединение отказало" исключение

Как я могу поймать исключение socket.error: [Errno 111] Connection refused?

try:
    senderSocket.send("Hello")
except ?????:
    print "catch !"     
4b9b3361

Ответ 1

Улавливая все исключения socket.error и повторно поднимая его, если атрибут errno не равен 111. Или, еще лучше, используйте errno.ECONNREFUSED вместо:

import errno
from socket import error as socket_error

try:
    senderSocket.send('Hello')
except socket_error as serr:
    if serr.errno != errno.ECONNREFUSED:
        # Not the error we are looking for, re-raise
        raise serr
    # connection refused
    # handle here