"urllib.error" --- 由 urllib.request 引发的异常类
*************************************************

**源代码：** Lib/urllib/error.py

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

"urllib.error" 模块定义了由 "urllib.request" 引发的异常类。 基础异常类
是 "URLError"。

以下异常会由 "urllib.error" 在适当的时候引发：

exception urllib.error.URLError

   处理程序在遇到问题时会引发此异常（或其派生的异常）。 它是 "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" 代码字典中的
      某个值。

   reason

      这通常是一个解释本次错误原因的字符串。 为 *msg* 属性的别名。

   headers

      导致 "HTTPError" 的特定 HTTP 请求的 HTTP 响应头。 为 *hdrs* 属性
      的别名。

      Added in version 3.4.

   fp

      可供读取 HTTP 错误消息体的文件型对象。

exception urllib.error.ContentTooShortError(msg, content)

   此异常会在 "urlretrieve()" 函数检测到已下载的数据量少于预期量（由
   *Content-Length* 标头给出）时被引发。

   content

      已下载（并可能被截断）的数据。
