(Python) error getaddrinfo

¿Puede alguien ayudarme en cómo puedo detectar este error?

import pygeoip gi = pygeoip.GeoIP('GeoIP.dat') print gi.country_code_by_name('specificdownload.com') Traceback (most recent call last): File "", line 14, in  File "build\bdist.win-amd64\egg\pygeoip\__init__.py", line 447, in country_code_by_name addr = self._gethostbyname(hostname) File "build\bdist.win-amd64\egg\pygeoip\__init__.py", line 392, in _gethostbyname return socket.gethostbyname(hostname) gaierror: [Errno 11001] getaddrinfo failed 

Bueno, preguntemos a Python qué tipo de excepción es:

 #!/usr/bin/env python2.7 import pygeoip gi = pygeoip.GeoIP('GeoIP.dat') try: print gi.country_code_by_name('specificdownload.com') except Exception, e: print type(e) print e 

Huellas dactilares:

 $ ./foo.py  [Errno 8] nodename nor servname provided, or not known 

Así que necesitamos atrapar socket.gaierror , así:

 #!/usr/bin/env python2.7 import pygeoip import socket gi = pygeoip.GeoIP('GeoIP.dat') try: print gi.country_code_by_name('specificdownload.com') except socket.gaierror: print 'ignoring failed address lookup' 

Aunque todavía queda la pregunta, ¿qué diablos es gaierror ? Google sube la documentación de socket.gaierror , que dice,

Esta excepción se produce para errores relacionados con la dirección, para getaddrinfo() y getnameinfo()

Entonces, error GAI = obtener error de información de dirección