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

**原始碼：**Lib/urllib/error.py

======================================================================

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

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

exception urllib.error.URLError

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

   reason

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

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

exception urllib.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)。

exception urllib.error.ContentTooShortError(msg, content)

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

   content

      已下載（可能已被截斷）的資料。
