Normalmente, se ho importato socket
, sarei stato in grado di catturare facilmente eccezioni:Come posso rilevare un'eccezione per un modulo che non ho completamente importato?
>>> import socket
>>> try:
... socket.gethostbyname('hello')
... except socket.gaierror:
... print('oops')
...
oops
Ma se ho appena importare socket.gethostbyname
, non funzionerà:
>>> 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
ho anche ottenere un NameError
se provo a catturare gaierror
.
C'è qualche soluzione per questo? Non è possibile rilevare un'eccezione con una stringa (ad esempio except 'socket.gaierror':
)?