Dalam Python, pengendalian pengecualian adalah sangat penting. Semasa pelaksanaan program, keadaan yang tidak dijangka mungkin berlaku, seperti ralat input, kegagalan membaca fail, dsb., dalam hal ini program akan membuang pengecualian. Jika kami tidak mengendalikan pengecualian ini tepat pada masanya, program akan ranap atau gagal berjalan seperti biasa. Oleh itu, adalah sangat penting untuk mempelajari cara menyelesaikan ralat pengendalian pengecualian Python.
Kandungan utama artikel ini merangkumi aspek berikut:
Kita boleh menggunakan pernyataan cuba-kecuali untuk menangkap pengecualian ini dan mengendalikannya. Pernyataan cuba digunakan untuk melaksanakan kod yang boleh menyebabkan pengecualian Jika berlaku pengecualian, blok kod yang dinyatakan dalam pernyataan kecuali dilaksanakan untuk mengendalikan pengecualian. Berikut adalah contoh:
try: # 可能会出现异常的代码 except 异常类型 as 错误变量: # 处理异常的代码
Antaranya, jenis pengecualian ialah pengecualian yang ingin kita tangkap, yang boleh menjadi berbilang jenis, dan boleh diabaikan pembolehubah ralat ialah nama pembolehubah yang digunakan untuk menyimpan maklumat pengecualian, yang boleh ditinggalkan.
Sebagai contoh, mari kita lihat pengendalian ralat pembahagian:
while True: try: num1 = int(input("请输入第一个数:")) num2 = int(input("请输入第二个数:")) result = num1 / num2 print("结果为:", result) except ValueError: print("输入的必须是数字,请重新输入!") except ZeroDivisionError: print("第二个数不能是0,请重新输入!")
Dalam contoh ini, kami menggunakan dua kecuali pernyataan untuk mengendalikan pengecualian ValueError dan ZeroDivisionError masing-masing. Jika input bukan nombor, pengecualian ValueError akan ditangkap jika nombor kedua ialah 0, pengecualian ZeroDivisionError akan ditangkap.
2. Maksud mesej ralat
Apabila atur cara melemparkan pengecualian, Python akan mengeluarkan mesej ralat. Memahami maksud mesej ralat ini boleh sangat membantu dalam menyelesaikan masalah. Di bawah ialah beberapa mesej ralat biasa dan maksudnya.
Melalui mesej ralat, kita boleh menentukan jenis ralat program dan cuba menyelesaikannya.
3. Kelas pengecualian tersuai
Selain jenis pengecualian terbina dalam Python, kami juga boleh menyesuaikan kelas pengecualian untuk mengendalikan pengecualian tertentu. Kelas pengecualian tersuai perlu mewarisi kelas Pengecualian dan boleh menentukan sifat dan kaedah mereka sendiri dalam kelas. Berikut ialah contoh mudah:
class ValueTooSmallError(Exception): # 自定义异常类 def __init__(self, value, min_value): self.value = value self.min_value = min_value def __str__(self): return f"输入的值{self.value}太小,最小值为{self.min_value}" try: num = int(input("请输入一个大于10的数:")) if num < 10: raise ValueTooSmallError(num, 10) except ValueTooSmallError as e: print(e)
Dalam contoh ini, kami mentakrifkan kelas pengecualian ValueTooSmallError untuk mengendalikan kes di mana nilai input kurang daripada 10. Jika nilai input kurang daripada 10, pengecualian ini akan dibuang dan nilai input dan nilai minimum akan dihantar sebagai parameter kepada pembina kelas ValueTooSmallError. Kami juga menulis semula kaedah __str__ untuk mengeluarkan maklumat segera tersuai.
4. Amalan terbaik untuk pengendalian pengecualian
Dalam Python, pengendalian pengecualian ialah kemahiran yang sangat penting. Berikut ialah beberapa amalan terbaik yang digunakan dalam pengaturcaraan dunia sebenar:
Ringkasan
Melalui pengenalan artikel ini, kami telah mempelajari tentang jenis pengecualian biasa dan kaedah pengendaliannya dalam Python. Kami juga mempelajari tentang maksud mesej ralat, kaedah menyesuaikan kelas pengecualian dan amalan terbaik untuk pengendalian pengecualian. Mahir dalam kaedah ini boleh membantu kami menyelesaikan ralat pengendalian pengecualian dalam Python dengan lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat pengendalian pengecualian Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!