Python リクエスト モジュールを使用するときに例外をどのように処理しますか?

Susan Sarandon
リリース: 2024-11-18 04:34:01
オリジナル
415 人が閲覧しました

How Do You Handle Exceptions When Using the Python Requests Module?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート