Menangkap Pengecualian dengan Modul Permintaan Python
Apabila menggunakan modul Permintaan Python untuk membuat permintaan HTTP, adalah penting untuk mengendalikan kemungkinan ralat dengan berkesan. Satu pendekatan biasa ialah menggunakan blok cuba/kecuali. Walau bagaimanapun, adalah penting untuk mengetahui pengecualian khusus yang Permintaan boleh bangkitkan.
Apakah Pengecualian Yang Dilindungi?
Blok cuba/kecuali yang disediakan meliputi ralat yang berkaitan dengan sambungan rangkaian, seperti kegagalan DNS dan sambungan yang ditolak. Walau bagaimanapun, ia tidak meliputi semua kemungkinan ralat HTTP atau isu tamat masa.
Jenis Pengecualian dalam Permintaan
Modul Permintaan menimbulkan pelbagai pengecualian, terutamanya mewarisi daripada requests.exceptions .RequestException kelas asas. Berikut ialah ringkasan:
Pendekatan Disyorkan
Kepada menangkap semua kemungkinan ralat dengan cara generik, anda boleh menangkap RequestException asas. Walau bagaimanapun, jika anda perlu mengendalikan jenis ralat tertentu secara berbeza, anda boleh menggunakan berbilang kecuali klausa.
try: r = requests.get(url, params={'s': thing}) except requests.exceptions.RequestException as e: raise SystemExit(e) # Bail with an error message
Sebagai alternatif, anda boleh mengendalikan ralat HTTP secara berasingan menggunakan Response.raise_for_status().
try: r = requests.get(url, params={'s': thing}) r.raise_for_status() except requests.exceptions.HTTPError as err: raise SystemExit(err) # Bail with an HTTP error message
Kesimpulan
Menggunakan pengecualian yang betul untuk pengendalian ralat dengan modul Permintaan memastikan anda menangkap semua masalah yang berpotensi dengan cekap dan mengendalikannya dengan sewajarnya. Dengan memahami jenis pengecualian yang berbeza, anda boleh menyesuaikan pengendalian ralat anda mengikut keperluan khusus.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Pengecualian dengan Berkesan dengan Modul Permintaan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!