Bagaimana Anda Mengendalikan Pengecualian Apabila Menggunakan Modul Permintaan Python?

Susan Sarandon
Lepaskan: 2024-11-18 04:34:01
asal
415 orang telah melayarinya

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)
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan