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

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

reason

This is usually a string explaining the reason for this error.

headers

The HTTP response headers for the HTTP request that caused the HTTPError.

バージョン 3.4 で追加.

exception urllib.error.ContentTooShortError(msg, content)

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