urllib.error --- urllib.request 引發的例外類別

原始碼:Lib/urllib/error.py


urllib.error module(模組)為urllib.request 所引發的例外定義了例外 (exception) 類別。基礎例外類別是URLError

下列例外會被urllib.error 適時引發:

exceptionurllib.error.URLError

處理程式 (handler) 在遇到問題時會引發此例外(或其衍生例外)。它是OSError 的一個子類別。

reason

此錯誤的原因。它可以是一個訊息字串或另一個例外實例。

在 3.3 版的變更:URLError 過去是OSError 的子類別,但現在為OSError 的別名。

exceptionurllib.error.HTTPError(url,code,msg,hdrs,fp)

雖然是一個例外(URLError 的一個子類別),HTTPError 也可以作為一個非例外的類檔案回傳值(與urlopen() 所回傳的物件相同)。這適用於處理特殊 HTTP 錯誤,例如為請求認證。

url

包含請求 URL。filename 屬性的別名。

code

一個 HTTP 狀態碼,具體定義見RFC 2616。這個數值會對應到存放在http.server.BaseHTTPRequestHandler.responses 程式碼 dictionary 中的某個值。

reason

這通常是一個解釋本次錯誤原因的字串。為msg 屬性的別名。

headers

導致HTTPError 的特定 HTTP 請求的 HTTP 回應 header。為hdrs 屬性的別名。

在 3.4 版被加入.

fp

一個類檔案物件,可以從中讀取 HTTP 錯誤主體 (body)。

exceptionurllib.error.ContentTooShortError(msg,content)

此例外會在urlretrieve() 函式檢查到已下載的資料量小於期待的資料量(由Content-Length header 給定)時被引發。

content

已下載(可能已被截斷)的資料。