我收到此错误:
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会理解该异常?
答案 0 :(得分:1)
从gaierror
模块导入socket
例外。 Docs
import socket
try:
# Your code.
except socket.gaierror:
# Handle exception.