# `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)

  `HTTPError` は例外 (`URLError` のサブクラス) ですが、同時に例外ではない file-like な戻り値を返す関数でもあります (`urlopen()` の戻り値と同じです)。これは、例えばサーバからの認証リクエストのように、変わった HTTP エラーを処理するのに役立ちます。

  url

    リクエスト URL を含みます。 filename 属性のエイリアスです。

  code

    RFC 2616 に定義されているHTTPステータスコード。 この数値型の値は、 `http.server.BaseHTTPRequestHandler.responses` の辞書に登録されているコードに対応します。

  reason

    これは通常、このエラーの原因を説明する文字列です。 msg 属性のエイリアスです。

  headers

    `HTTPError` の原因となった HTTP リクエストの HTTP レスポンスヘッダ。 hdrs 属性のエイリアスです。

    Added in version 3.4.

  fp

    HTTP エラーの body を読み出し可能なファイルライクオブジェクト。

exception urllib.error.ContentTooShortError(msg, content)

  この例外は `urlretrieve()` 関数が、ダウンロードされたデータの量が予期した量 (Content-Length ヘッダで与えられる) よりも少ないことを検知した際に発生します。

  content

    ダウンロードされた、 (おそらく切り捨てられた) データ。