通常,如果我 import socket
,我将能够轻松捕获异常:
>>> import socket
>>> try:
... socket.gethostbyname('hello')
... except socket.gaierror:
... print('oops')
...
oops
但是,如果我只是 import socket.gethostbyname
,它将无法正常工作:
>>> from socket import gethostbyname
>>> try:
... gethostbyname('hello')
... except socket.gaierror:
... print('oops')
...
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
NameError: name 'socket' is not defined
NameError
如果我尝试抓住,我也会得到一个gaierror
。
有什么解决方法吗?except 'socket.gaierror':
不能用字符串(例如。 )捕获异常吗?