21.9. urllib.error --- urllib.request が投げる例外

ソースコード: Lib/urllib/error.py


urllib.errorurllib.request によって投げられる例外を定義しています。基底クラスは URLError です。

urllib.error は必要に応じて以下の例外が送出します:

exception urllib.error.URLError

ハンドラが何らかの問題に遭遇した場合、この例外 (またはこの例外から派生した例外)を送出します。この例外は OSError のサブクラスです。

reason

このエラーの理由。メッセージ文字列あるいは他の例外インスタンスです。

バージョン 3.3 で変更: URLErrorIOError の代わりに OSError のサブクラスになりました。

exception urllib.error.HTTPError

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

code

An HTTP status code as defined in RFC 2616. This numeric value corresponds to a value found in the dictionary of codes as found in http.server.BaseHTTPRequestHandler.responses.

reason

これは通常、このエラーの原因を説明する文字列です。

headers

HTTPError の原因となった HTTP リクエストの HTTP レスポンスヘッダ。

バージョン 3.4 で追加.

exception urllib.error.ContentTooShortError(msg, content)

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