如何处理"getaddrinfo失败"?

Rog*_*erZ 3 python urllib urllib2 urlopen

你好,我有问题.我使用mechanize,python 2.7连接一些网站(代码现在不重要)我有网站列表,我现在连接到它们.当它发生时我的列表中的网站不存在我得到错误:

urllib2.URLError:[Errno 11004] getaddrinfo失败

我尝试通过这样做来处理它:

             except mechanize.URLError, e:
                    result = str(e.reason)
Run Code Online (Sandbox Code Playgroud)

要么

             except urllib2.URLError, e:
                    result = str(e.reason)
Run Code Online (Sandbox Code Playgroud)

甚至

             except Exception, e:
                    result = str(e)
Run Code Online (Sandbox Code Playgroud)

但它只是不想工作.

怎么解决这个?当发生此错误时,我只想打印"连接失败"之类的内容并移动到列表中的下一个地址.如何捕获此错误except

Joc*_*zel 7

随机猜测但尝试:

import socket

try:
   ...
except socket.gaierror:
   pass
Run Code Online (Sandbox Code Playgroud)

socket.gaierror"[Errno 11004] getaddrinfo failed"错误.

如果你这样做,你可以很容易地找出异常

try:
    ...
except:
    import sys
    # prints `type(e), e` where `e` is the last exception
    print sys.exc_info()[:2]
Run Code Online (Sandbox Code Playgroud)