Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana Mengendalikan Ralat dalam Modul Permintaan Python dengan Berkesan?

Bagaimana Mengendalikan Ralat dalam Modul Permintaan Python dengan Berkesan?

Linda Hamilton
Lepaskan: 2024-11-20 02:01:01
asal
667 orang telah melayarinya

How to Handle Errors in Python Requests Module Effectively?

Cuba/Kecuali Pengendalian Ralat dalam Modul Permintaan Python

Menggunakan modul Permintaan dalam Python ialah cara mudah untuk mengendalikan panggilan API dan permintaan HTTP . Apabila ralat berlaku semasa pelaksanaan permintaan, adalah penting untuk mempunyai pengendalian ralat yang mantap.

Adakah kod ini betul?

try:
    r = requests.get(url, params={'s': thing})
except requests.ConnectionError, e:
    print(e)
Salin selepas log masuk

Kod ini cuba untuk menangkap hanya ralat berkaitan sambungan dengan mengendalikan pengecualian ConnectionError. Walau bagaimanapun, ini tidak merangkumi semua kemungkinan senario ralat yang boleh dihadapi oleh modul Permintaan.

Cara yang lebih baik untuk menstruktur pengendalian ralat

Untuk memastikan semua kemungkinan ralat dikendalikan, adalah disyorkan untuk menangkap permintaan kelas pengecualian asas.RequestException dan bukannya pengecualian khusus seperti ConnectionError.

try:
    r = requests.get(url, params={'s': thing})
except requests.exceptions.RequestException as e:  # This is the correct syntax
    raise SystemExit(e)
Salin selepas log masuk

Sebagai alternatif, anda boleh mengendalikan pengecualian khusus secara berasingan dan mengambil tindakan yang berbeza sewajarnya. Sebagai contoh, anda boleh mengendalikan tamat masa secara berbeza daripada ralat sambungan.

try:
    r = requests.get(url, params={'s': thing})
except requests.exceptions.Timeout:
    # Maybe set up for a retry, or continue in a retry loop
except requests.exceptions.TooManyRedirects:
    # Tell the user their URL was bad and try a different one
except requests.exceptions.RequestException as e:
    # catastrophic error. bail.
    raise SystemExit(e)
Salin selepas log masuk

Menangkap ralat HTTP

Jika anda ingin menimbulkan pengecualian untuk ralat HTTP seperti 401 Tanpa Kebenaran, anda boleh menggunakan kaedah Response.raise_for_status().

try:
    r = requests.get('http://www.google.com/nothere')
    r.raise_for_status()
except requests.exceptions.HTTPError as err:
    raise SystemExit(err)
Salin selepas log masuk

Dengan mengendalikan pengecualian secara menyeluruh dan menyesuaikan tingkah laku berdasarkan jenis ralat, anda boleh memastikan bahawa kod anda bertindak balas dengan sewajarnya kepada ralat dan input pengguna semasa permintaan HTTP .

Atas ialah kandungan terperinci Bagaimana Mengendalikan Ralat dalam Modul Permintaan Python dengan Berkesan?. 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