Pythonのurllibでurllib.error.HTTPErrorをexceptする

Pythonのurllibを使用してHTTPエラーを捉えるためには、urllib.error.HTTPErrorexcept節で処理します。以下はHTTPエラーを捉えて詳細な情報を取得するサンプルコードです:

python
import urllib.request from urllib.error import HTTPError url = "https://example.com/nonexistent" try: response = urllib.request.urlopen(url) data = response.read() print(data.decode('utf-8')) except HTTPError as e: print(f"HTTPエラーが発生しました: {e.code} - {e.reason}")

このコードでは、指定したURLにアクセスし、HTTPエラーが発生した場合にHTTPError例外をキャッチしてエラーコード (e.code) とエラーの詳細 (e.reason) を出力します。HTTPErrorのcode属性にはHTTPステータスコードが、reason属性にはステータスコードに関連付けられた理由文字列が格納されています。このようにして、HTTPエラーに関する詳細情報を取得できます。

必要に応じて、HTTPエラーに対するカスタムなエラーハンドリングを追加できます。