为无法识别的错误添加例外?

时间:2014-10-15 11:43:38

标签: python python-2.7 exception exception-handling paramiko

我收到此错误:

  File "/usr/lib/python2.7/dist-packages/paramiko/client.py", line 286, in connect
    for (family, socktype, proto, canonname, sockaddr) in socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM):
gaierror: [Errno -2] Name or service not known

当我输入错误的主机名时。我想提出一个异常,给出消息,输入了错误的主机名,但是Python没有识别出该错误,并且我没有定义全局名称gaierror。

我是这样想的:

try:
    ssh.connect(rec.host, username=rec.user, password=rec.password)
except gaierror:
    print 'blablabla'

然后它给出了这个错误:

    except gaierror:
NameError: global name 'gaierror' is not defined

我是否需要以某种方式自己定义该错误,或​​者我需要从paramiko调用某些内容,因此python会理解该异常?

1 个答案:

答案 0 :(得分:1)

gaierror模块导入socket例外。 Docs

import socket

try:
    # Your code.
except socket.gaierror:
    # Handle exception.