urllib 的異常錯誤處理

URLError HTTPError異常

 

一、URLError

URLError 產生的原因主要有:

沒有網絡連接 、服務器連接失敗、找不到指定的服務器

我們可以用 try except 語句來捕獲相應的異常。比如訪問了一個不存在的

域名,try-except捕獲的URLError異常錯誤代號是 11004沒有獲取到一個有效的網址服務器地址。

 

2HTTPError

HTTPError URLError 的子類,我們發出一個請求時,服務器上都會對應一個 response

應答對象,其中它包含一個數字"響應狀態碼"

如果 urlopen opener.open 不能處理的,會產生一個 HTTPError,對應相應的狀態碼,

HTTP 狀態碼錶示 HTTP 協議所返回的響應的狀態。

注意,urllib 可以爲我們處理重定向的頁面(也就是 3 開頭的響應碼),100-299 範圍的

號碼錶示成功,所以我們只能看到 400-599 的錯誤號碼。

 

由於 HTTPError 的父類是 URLError,所以父類的異常應當寫到子類異常的後面,所以如果需要寫這兩個異常的話,應當先寫HTTPError,再寫URLError。這樣就可以先捕獲子類異常,子類異常捕獲不到時捕獲父類異常

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章