Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk mengendalikan pengendalian pengecualian dalam Python

Bagaimana untuk mengendalikan pengendalian pengecualian dalam Python

WBOY
Lepaskan: 2023-10-09 08:57:14
asal
606 orang telah melayarinya

Bagaimana untuk mengendalikan pengendalian pengecualian dalam Python

Cara mengendalikan pengendalian pengecualian dalam Python

Pengecualian ialah ralat dalam atur cara Apabila pengecualian berlaku dalam atur cara, pengendalian pengecualian boleh berlaku menggunakan Mekanisme untuk menangkap dan mengendalikan pengecualian ini untuk memastikan operasi normal program.

Python menyediakan mekanisme pengendalian pengecualian yang kaya dan berkuasa, yang boleh menangkap dan mengendalikan pengecualian melalui pernyataan cuba-kecuali. Berikut akan memperkenalkan cara mengendalikan pengecualian dengan betul dalam Python dan memberikan contoh kod tertentu.

  1. Bentuk asas pernyataan cuba-kecuali

Dalam Python, pernyataan cuba-kecuali digunakan untuk menangkap pengecualian. Bentuk asasnya adalah seperti berikut:

try:
    # 可能会出现异常的代码块
except [异常类型]:
    # 处理异常的代码块
Salin selepas log masuk

Dalam kod di atas, blok cuba mengandungi kod yang mungkin menyebabkan pengecualian Jika berlaku pengecualian dalam kod dalam blok cuba, kod yang tinggal dalam blok cuba akan dilangkau , laksanakan terus kod dalam blok kecuali.

  1. Tangkap berbilang pengecualian

Anda boleh menangkap berbilang pengecualian jenis berbeza dalam pernyataan cuba-kecuali untuk menyesuaikan diri dengan situasi pengecualian yang berbeza . Setiap blok kecuali boleh menangkap jenis pengecualian tertentu.

try:
    # 可能会出现异常的代码块
except [异常类型1]:
    # 处理异常1的代码块
except [异常类型2]:
    # 处理异常2的代码块
...
except [异常类型n]:
    # 处理异常n的代码块
Salin selepas log masuk

Sebagai contoh, kita boleh menangkap kedua-dua pengecualian ZeroDivisionError dan FileNotFoundError:

try:
    x = 1 / 0
    f = open("nonexistent.txt", "r")
except ZeroDivisionError:
    print("除数不能为0")
except FileNotFoundError:
    print("文件不存在")
Salin selepas log masuk
  1. Tangkap semua pengecualian #🎜##🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜##🎜 Jika kita ingin menangkap semua jenis pengecualian, kita boleh menggunakan jenis pengecualian Pengecualian umum untuk menangkap:
  2. try:
        # 可能会出现异常的代码块
    except Exception:
        # 处理异常的代码块
    Salin selepas log masuk
Dalam kes ini, tidak kira jenis pengecualian yang berlaku, ia akan ditangkap oleh kod dalam kecuali blok. Walau bagaimanapun, ambil perhatian bahawa adalah lebih baik untuk memaparkan maklumat pengecualian khusus semasa mengendalikan pengecualian untuk mengelakkan menyembunyikan ralat program sebenar.

finally statement

  1. Selain pernyataan cuba-kecuali, Python juga menyediakan pernyataan akhirnya, yang digunakan untuk menguji sama ada pengecualian berlaku atau tidak.
  2. try:
        # 可能会出现异常的代码块
    except [异常类型]:
        # 处理异常的代码块
    finally:
        # 无论是否发生异常都会执行的代码块
    Salin selepas log masuk
Kod dalam pernyataan akhirnya akan sentiasa dilaksanakan selepas pernyataan cuba-kecuali dilaksanakan.

Dapatkan maklumat pengecualian

  1. Apabila mengendalikan pengecualian, kita boleh menggunakan e atau nama lain untuk mendapatkan Exception yang ditangkap maklumat untuk pemprosesan seterusnya.
  2. try:
        # 可能会出现异常的代码块
    except [异常类型] as e:
        print("发生异常:", e)
    Salin selepas log masuk
Dalam kod di atas, e mewakili objek pengecualian yang ditangkap, dan maklumat khusus pengecualian boleh diperoleh melalui e.

e或者其他名称来获取捕获到的异常信息,以便进行后续处理。

raise [异常类型](异常信息)
Salin selepas log masuk

在上述代码中,e表示捕获到的异常对象,可以通过e

Throw exception
  1. Selain menangkap pengecualian, kami juga boleh membuang pengecualian secara manual untuk mencetuskan ralat secara aktif dalam program.
def foo(x):
    if x < 0:
        raise ValueError("x不能为负数")
    # 其他处理代码

try:
    foo(-1)
except ValueError as e:
    print("发生异常:", e)
Salin selepas log masuk

Sebagai contoh, kita boleh membuang pengecualian ValueError secara manual:

rrreee

Dalam kod di atas, apabila parameter x fungsi foo ialah nombor negatif, lemparkan secara manual Pengecualian ValueError, Dan tangkap dan kendalikannya dalam bahagian pengendalian pengecualian.

Ringkasnya, melalui pernyataan cuba-kecuali dan mekanisme pengendalian pengecualian lain, kami boleh mengendalikan pengecualian dalam program Python secara fleksibel dan memastikan operasi normal program. Dalam pembangunan sebenar, penggunaan munasabah mekanisme pengendalian pengecualian secara berkesan boleh meningkatkan keteguhan dan kebolehselenggaraan program.

Rujukan:

Dokumentasi rasmi Python: https://docs.python.org/3/tutorial/errors.html
    #🎜 🎜 #

Atas ialah kandungan terperinci Bagaimana untuk mengendalikan pengendalian pengecualian dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan