1
我想了解我是否可以在python中處理以下錯誤。Python中的URLError
所以我有一個程序,反覆調用下面一行:
candidate = urllib2.urlopen(absolute_path)
運行我的程序幾秒鐘後,我關閉了我的wifi
連接,並得到了以下錯誤:
File "crawler.py", line 28, in urlQuery
candidate = urllib2.urlopen(absolute_path)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 404, in open
response = self._open(req, data)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 422, in _open
'_open', req)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 1214, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 1184, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno 65] No route to host>
有什麼辦法可以處理這個錯誤?
@Andy - 只是爲了顯示捕捉任何異常的標準方法。順便說一句,我修改只捕捉'URLError' – sk11 2014-09-26 14:39:54
因此,當我趕上例外,我想再次嘗試看看該網址是否打開,如果它打開,我想返回候選人。你能否修改你的答案來照顧這個? – KKa 2014-09-26 17:04:46
在第一個除外使用'try-except'。修改我的答案 – sk11 2014-09-27 05:47:07