21.9. urllib.error — urllib.request 引发的异常类

源代码: Lib/urllib/error.py


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

下列异常会被 urllib.error 按需引发:

exception urllib.error.URLError

处理程序在遇到问题时会引发此异常(或其派生的异常)。 它是 OSError 的一个子类。

  • reason

    此错误的原因。 它可以是一个消息字符串或另一个异常实例。

在 3.3 版更改: URLError 已被设为 OSError 而不是 IOError 的子类。

exception urllib.error.HTTPError

虽然是一个异常 (URLError 的一个子类),HTTPError 也可以作为一个非异常的文件类返回值 (与 urlopen() 返所回的对象相同)。 这适用于处理特殊 HTTP 错误例如作为认证请求的时候。

  • code

    一个 HTTP 状态码,具体定义见 RFC 2616。 这个数字值对应于存放在 http.server.BaseHTTPRequestHandler.responses 代码字典中的某个值。

  • reason

    这通常是一个解释本次错误原因的字符串。

  • headers

    导致了 HTTPError 的特定 HTTP 请求的 HTTP 响应头。

    3.4 新版功能.

exception urllib.error.ContentTooShortError(msg, content)

此异常会在 urlretrieve() 函数检测到已下载的数据量小于期待的数据量(由 Content-Length 头给定)时被引发。 content 属性中将存放已下载(可能被截断)的数据。