Python リクエスト モジュールによる例外の処理
Python リクエスト ライブラリは、HTTP リクエストを作成するための包括的な方法を提供します。リクエストの処理中にエラーが発生する場合があるため、エラーを効果的に処理することが重要になります。この記事では、リクエストを操作するときに try/excel を使用するための正しいアプローチについて説明します。
接続関連のエラー
提供された例では、requests.ConnectionError を使用して接続エラーを処理します。 、部分的には正しいです。ネットワーク関連の問題を捕捉しますが、タイムアウトや HTTP 応答エラーなどの他の潜在的なエラーは見逃します。
基本クラス例外
リクエストによって発生したすべての例外を処理します。 、try/Except ブロックで基本クラスの例外、requests.Exceptions.RequestException をキャッチします。リクエストによって明示的に発生するすべての例外は、このクラスから継承されます。
例:
try: r = requests.get(url, params={'s': thing}) except requests.exceptions.RequestException as e: # Handle the error appropriately (e.g., retry, log, or raise SystemExit)
さまざまな例外の処理
Ifタイムアウトや HTTP 応答エラーなどの特定の例外を個別に処理する必要がある場合は、個別の例外ブロックを使用できます:
try: r = requests.get(url, params={'s': thing}) except requests.exceptions.Timeout: # Handling timeout except requests.exceptions.TooManyRedirects: # Handling too many redirects except requests.exceptions.RequestException as e: # Handling all other exceptions
HTTP 応答エラーの処理
デフォルト, リクエストでは、失敗した HTTP 応答 (例: 404 Not Found) に対して例外が発生しません。これらのエラーの例外を発生させるには、Response.raise_for_status() を呼び出します。
例:
try: r = requests.get('http://www.google.com/nothere') r.raise_for_status() except requests.exceptions.HTTPError as err: # Handle the HTTP response error
これらのガイドラインに従うことで、次のエラーに対する堅牢な例外処理を確保できます。 Python リクエストの操作。HTTP リクエスト中に発生する可能性のある幅広いエラーをカバーします。
以上がPython リクエスト モジュールを使用するときに例外をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。