Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Anda Mengendalikan Pengecualian Apabila Menggunakan Modul Permintaan Python?
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!