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.
Dalam Python, pernyataan cuba-kecuali digunakan untuk menangkap pengecualian. Bentuk asasnya adalah seperti berikut:
try: # 可能会出现异常的代码块 except [异常类型]: # 处理异常的代码块
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.
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的代码块
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("文件不存在")
try: # 可能会出现异常的代码块 except Exception: # 处理异常的代码块
finally statement
try: # 可能会出现异常的代码块 except [异常类型]: # 处理异常的代码块 finally: # 无论是否发生异常都会执行的代码块
Dapatkan maklumat pengecualian
e
atau nama lain untuk mendapatkan Exception yang ditangkap maklumat untuk pemprosesan seterusnya. try: # 可能会出现异常的代码块 except [异常类型] as e: print("发生异常:", e)
e
mewakili objek pengecualian yang ditangkap, dan maklumat khusus pengecualian boleh diperoleh melalui e
. e
或者其他名称来获取捕获到的异常信息,以便进行后续处理。
raise [异常类型](异常信息)
在上述代码中,e
表示捕获到的异常对象,可以通过e
def foo(x): if x < 0: raise ValueError("x不能为负数") # 其他处理代码 try: foo(-1) except ValueError as e: print("发生异常:", e)
Sebagai contoh, kita boleh membuang pengecualian ValueError secara manual:
rrreeeDalam 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.htmlAtas ialah kandungan terperinci Bagaimana untuk mengendalikan pengendalian pengecualian dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!