1. Fahami pengecualian
Pengecualian merujuk kepada ralat atau situasi tidak normal yang berlaku semasa program berjalan, yang mungkin disebabkan oleh pelbagai sebab, seperti:
2. Mekanisme pengendalian pengecualian Python
python menyediakan mekanisme pengendalian pengecualian untuk mengendalikan pengecualian yang berlaku semasa program berjalan Ia terutamanya termasuk try
、except
和 finally
tiga pernyataan.
try
Blok penyata digunakan untuk menentukan kod untuk cuba dilaksanakan. except
digunakan untuk menentukan kod yang akan dilaksanakan apabila pengecualian berlaku dalam blok pernyataan except
语句块用于指定当 try
. finally
语句块用于指定无论 try
. 3. Contoh kod
# 导入异常处理模块 import sys # 定义一个函数来读取文件 def read_file(filename): # 使用 try 语句块来捕获异常 try: # 打开文件 with open(filename, "r") as f: # 读取文件内容 data = f.read() # 关闭文件 f.close() # 使用 except 语句块来处理异常 except FileNotFoundError: # 文件不存在时,打印错误信息 print("Error: File not found.") # 使用 finally 语句块来释放资源 finally: # 无论是否发生异常,都关闭文件 f.close() # 调用函数来读取文件 read_file("data.txt")
Dalam contoh di atas, blok pernyataan try
语句块用于尝试打开和读取文件,except
语句块用于处理文件不存在的异常情况,finally
digunakan untuk cuba membuka dan membaca fail, blok pernyataan except
digunakan untuk mengendalikan pengecualian apabila fail tidak wujud, dan akhirnya
blok pernyataan digunakan Tidak kira sama ada pengecualian berlaku, fail ditutup.
4. Jenis pengecualian biasa
Python Terdapat banyak jenis pengecualian terbina dalam yang mewakili ralat atau keadaan pengecualian yang berbeza, seperti:
NameError
: Menunjukkan pembolehubah atau fungsi yang tidak ditentukan. TypeError
: Menunjukkan jenis tidak padan. ValueError
: Menunjukkan nilai yang tidak sah. IndexError
: Menunjukkan bahawa indeks berada di luar julat. KeyError
: Menunjukkan kunci yang tidak wujud dalam kamus. Pengaturcara boleh mendapatkan maklumat pengecualian yang sedang berlaku melalui fungsi sys.exc_info()
, dan menggunakan kaedah pengendalian yang berbeza mengikut jenis pengecualian yang berbeza.
5. Jenis pengecualian tersuai
Selain jenis pengecualian terbina dalam, pengaturcara juga boleh menyesuaikan jenis pengecualian untuk mengendalikan ralat atau syarat pengecualian tertentu. Sebagai contoh, anda boleh menentukan jenis pengecualian MyError
untuk mengendalikan ralat tersuai yang berlaku dalam aplikasi anda:
class MyError(Exception): def __init__(self, message): self.message = message def my_function(): # 抛出自定义异常 raise MyError("An error occurred.") try: my_function() except MyError as e: # 处理自定义异常 print(e.message)
Dalam contoh di atas, MyError
是一个自定义的异常类型,它继承自 Exception
类。当 my_function()
函数抛出 MyError
异常时,try
ialah jenis pengecualian tersuai yang diwarisi daripada kelas Exception
. Apabila fungsi my_function()
melontarkan pengecualian
menangkap pengecualian dan mencetak maklumat pengecualian.
6Mekanisme pengendalian pengecualian Python ialah salah satu kemahiran utama yang mesti dikuasai oleh pengaturcara semasa menulis kod. Ia boleh membantu pengaturcara mengendalikan ralat dan pengecualian yang berlaku semasa program berjalan dan mengelakkan ranap program.
Atas ialah kandungan terperinci Pengendalian Pengecualian Python: Jalan Menuju Kemajuan daripada Novis kepada Pakar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!