45

我怎么能捕捉到socket.error: [Errno 111] Connection refused异常?

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

1 回答 1

85

通过捕获所有 异常,并在属性不等于 111socket.error时重新引发异常。或者,更好的是,使用常量代替:errnoerrno.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
于 2013-01-20T14:25:50.143 回答