問題的標題可能有點混淆,但我真的不知道如何最好地將它寫出來...... 我發現下面的代碼塊下載通過使用urllib2庫,從網頁中獲取網頁。urlib2.URLError及其在python中的原因
import urllib2
def download(url):
try:
html = urllib2.urlopen(url).read()
except urllib2.URLError as e:
print 'Download error:', e.reason
html = None
return html
現在,如果它發生e.code
是404隨後將e.reason
僅僅是一個空字符串,這意味着它承擔什麼觸發錯誤絕對沒有任何信息,所以我真的不明白這裏使用e.reason
點。 現在看來似乎會更合理打印e
代替,但即使我改變它簡單地print e
它仍然會產生一些尷尬:HTTP Error 404:
和結腸apparenty後跟一個空字符串... 所以,在我看來,上述代碼在異常處理方面有點笨拙。是這樣嗎?
是的,只要'print e'會更好。更常見的是根本不捕獲異常,因爲它似乎沒有被處理。這個問題到底是什麼? – wim
404意味着未找到請求的資源。更好地「打印e」以獲得更多細節。 – ichbinblau
@wim我從一本書中拿出了這段代碼,對於那裏處理異常的方式感到有點困惑,所以我想也許我錯過了一些東西...... – weeCoder