Rumah >pembangunan bahagian belakang >Tutorial Python >Penjelasan terperinci tentang pengecualian dalam Python
Python ialah bahasa pengaturcaraan yang sangat baik kerana kemudahan membaca dan memahami serta perpustakaan pakej yang kaya, Python telah digunakan secara meluas dalam pelbagai bidang. Walau bagaimanapun, dalam proses menulis kod Python, beberapa ralat pasti akan berlaku, seperti ralat nama pembolehubah, ralat sintaks, dan lain-lain. Pada masa ini, Python boleh menggunakan pengendalian pengecualian untuk mengelakkan atur cara berhenti tanpa diduga, memudahkan proses penyahpepijatan program, dan meningkatkan kecekapan pengaturcaraan. Artikel ini akan memperkenalkan pengecualian dalam Python secara terperinci, termasuk jenis pengecualian, kaedah pengendalian pengecualian, jejak tindanan pengecualian, dsb.
1. Jenis pengecualian
Apabila penterjemah Python menemui ralat sintaks dalam atur cara, ia akan membuang pengecualian SyntaxError . Contohnya:
print 'hello world'
Dalam versi Python 3.x, cetakan hendaklah ditulis dalam kurungan Cara yang betul untuk menulisnya ialah:
print('hello world')
Jika ia masih ditulis sebagai cetakan 'hello world', pengecualian SyntaxError akan dilemparkan semasa menjalankan program.a = 1 print(b)Oleh kerana pembolehubah b tidak ditakrifkan, pengecualian NameError akan dilemparkan.
a = 'hello' b = 5 print(a + b)Memandangkan rentetan dan integer tidak boleh ditambah secara langsung, pengecualian TypeError akan dilemparkan.
a = 5 / 0Memandangkan membahagi dengan sifar ialah operasi yang menyalahi undang-undang, pengecualian ZeroDivisionError akan dilemparkan.
a = [1, 2, 3] print(a[3])Memandangkan terdapat hanya tiga elemen dalam a, mengakses indeks 3 akan membuang pengecualian IndexError.
a = {'name': 'Tom', 'age': 20} print(a['gender'])Memandangkan kunci 'jantina' tidak wujud dalam a, pengecualian KeyError akan dilemparkan.
a = int('abc')Memandangkan 'abc' tidak boleh ditukar kepada jenis integer, pengecualian ValueError akan dilemparkan. 2. Kaedah pengendalian pengecualian Dalam Python, anda boleh menggunakan pernyataan cuba-kecuali untuk mengendalikan pengecualian. Blok cuba mengandungi blok kod yang mungkin salah, dan blok kecuali mengandungi kod pengendalian apabila pengecualian berlaku. Apabila mengendalikan berbilang jenis pengecualian, anda boleh menggunakan berbilang penyataan kecuali. Contohnya:
try: a = 1 / 0 except ZeroDivisionError: print('除数为零') except TypeError: print('类型错误')Apabila pengecualian ZeroDivisionError berlaku apabila melaksanakan kod dalam blok cuba, atur cara akan melaksanakan kod dalam blok pertama kecuali untuk mencetak "Pembahagi adalah sifar". kecuali yang kedua akan dilaksanakan Kod dalam blok mencetak "TypeError". Jika anda ingin menangkap semua jenis pengecualian, anda boleh menggunakan format asas pernyataan kecuali:
try: # 可能会出错的代码 except: # 异常处理代码Pada masa ini, kod dalam blok kecuali akan menangkap semua jenis pengecualian . Selain pernyataan cuba-kecuali, Python juga menyediakan klausa akhirnya untuk kod yang akan dilaksanakan tanpa mengira sama ada pengecualian berlaku. Contohnya:
try: # 可能会出错的代码 except: # 异常处理代码 finally: # 无论如何都会执行的代码3. Jejak tindanan pengecualianApabila menulis atur cara Python, jika pengecualian berlaku, atur cara itu bukan sahaja akan menggesa jenis pengecualian dan maklumat pengecualian, tetapi juga memaparkan pengecualian maklumat surih tindanan, iaitu Timbunan panggilan kod apabila pengecualian berlaku. Maklumat surih tindanan pengecualian sangat berguna dan boleh membantu kami mencari lokasi kod tempat pengecualian berlaku, menjadikannya lebih mudah untuk nyahpepijat dan membetulkan masalah. Berikut ialah contoh maklumat surih tindanan pengecualian:
Traceback (most recent call last): File "exceptions.py", line 11, in <module> c = a / b ZeroDivisionError: division by zeroAntaranya, Traceback memaparkan keseluruhan maklumat surih tindanan pengecualian, dan baris terakhir memaparkan jenis pengecualian dan maklumat pengecualian. Fail "exceptions.py", baris 11, dalam 4225fa317875f3e92281a7b1a5733569 menunjukkan nama fail dan nombor baris kod tempat pengecualian berlaku. Untuk program atau program yang berjalan lama dalam persekitaran pengeluaran, anda boleh menulis maklumat surih tindanan pengecualian ke dalam fail log untuk memudahkan analisis pasca acara. 4. RingkasanArtikel ini memperkenalkan pengecualian dalam Python secara terperinci, termasuk jenis pengecualian, kaedah pengendalian pengecualian, surih tindanan pengecualian, dsb. Apabila menulis atur cara Python, pengendalian pengecualian adalah kemahiran yang amat diperlukan dan penting Hanya dengan mengendalikan pengecualian dalam atur cara dapat kestabilan dan ketepatan program tersebut.
Atas ialah kandungan terperinci Penjelasan terperinci tentang pengecualian dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!