Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Anda Mengendalikan Pengecualian Apabila Menggunakan Modul Permintaan Python?

Bagaimana Anda Mengendalikan Pengecualian Apabila Menggunakan Modul Permintaan Python?

Susan Sarandon
Susan Sarandonasal
2024-11-18 04:34:01470semak imbas

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

Mengendalikan Pengecualian dengan Modul Permintaan Python

Pustaka Permintaan Python menyediakan cara yang komprehensif untuk membuat permintaan HTTP. Kadangkala, ralat boleh berlaku semasa pemprosesan permintaan, menjadikannya penting untuk mengendalikannya dengan berkesan. Artikel ini meneroka pendekatan yang betul untuk menggunakan cuba/kecuali apabila bekerja dengan Permintaan.

Ralat Berkaitan Sambungan

Contoh yang disediakan, yang mengendalikan ralat sambungan menggunakan permintaan.ConnectionError , adalah sebahagiannya betul. Walaupun ia menangkap isu berkaitan rangkaian, ia mengabaikan kemungkinan ralat lain, seperti tamat masa dan ralat respons HTTP.

Pengecualian Kelas Asas

Untuk mengendalikan semua pengecualian yang dibangkitkan oleh Permintaan , tangkap pengecualian kelas asas, requests.exceptions.RequestException dalam blok cuba/kecuali anda. Semua pengecualian yang dibangkitkan secara eksplisit oleh Permintaan diwarisi daripada kelas ini.

Contoh:

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)

Mengendalikan Pengecualian Berbeza

Jika anda perlu mengendalikan pengecualian tertentu secara berasingan, seperti tamat masa atau ralat tindak balas HTTP, anda boleh menggunakan kecuali kecuali blok:

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

Mengendalikan Ralat Respons HTTP

Secara lalai, Permintaan tidak menimbulkan pengecualian untuk respons HTTP yang tidak berjaya (mis., 404 Not Found). Untuk menimbulkan pengecualian bagi ralat ini, hubungi Response.raise_for_status().

Contoh:

try:
    r = requests.get('http://www.google.com/nothere')
    r.raise_for_status()
except requests.exceptions.HTTPError as err:
    # Handle the HTTP response error

Dengan mengikut garis panduan ini, anda boleh memastikan pengendalian pengecualian yang mantap untuk operasi Permintaan Python anda, meliputi pelbagai ralat yang mungkin berlaku semasa permintaan HTTP.

Atas ialah kandungan terperinci Bagaimana Anda Mengendalikan Pengecualian Apabila Menggunakan Modul Permintaan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn