Pengendalian pengecualian ialah konsep penting untuk peperiksaan pensijilan PCAP (Certified Associate in Python Programming). Ia ialah mekanisme yang membolehkan anda mengendalikan dan memulihkan daripada ralat yang mungkin berlaku semasa pelaksanaan kod anda.
Dalam panduan kajian ini, kami akan merangkumi konsep asas pengendalian pengecualian dalam Python, bersama-sama dengan contoh untuk membantu anda bersedia untuk peperiksaan pensijilan PCAP.
Apakah Pengendalian Pengecualian dalam Python?
Pengendalian pengecualian dalam Python ialah proses mengenal pasti, mengendalikan dan memulihkan daripada ralat yang berlaku semasa pelaksanaan program. Ia membantu dalam menghalang atur cara daripada ranap apabila ralat yang tidak dijangka berlaku dan juga membantu dalam mengenal pasti dan menyahpepijat ralat ini.
Python Try...Except Block
Cubaan...kecuali blok ialah kaedah utama mengendalikan pengecualian dalam Python. Sintaksnya adalah seperti berikut:
try: # code that may raise an exception except: # code to handle the exception
Dalam blok ini, kod yang mungkin menyebabkan pengecualian diletakkan dalam blok cuba, manakala blok except menangkap dan mengendalikan pengecualian yang berlaku. Adalah penting untuk ambil perhatian bahawa setiap blok percubaan mesti diikuti oleh blok kecuali.
Contoh: Mengendalikan ZeroDivisionError
try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0.
Dalam contoh ini, kami membahagikan nombor dengan 0, yang akan menghasilkan ZeroDivisionError. Dengan meletakkan kod di dalam blok cuba, kita boleh menangkap ralat dalam blok kecuali dan mengendalikannya dengan sewajarnya.
Menangkap Pengecualian Khusus dalam Python
Selain mengendalikan sebarang pengecualian yang mungkin berlaku, blok kecuali juga boleh digunakan untuk menangkap pengecualian tertentu. Ini membolehkan anda mengendalikan pelbagai jenis ralat dengan cara yang berbeza. Berikut ialah contoh:
try: even_numbers = [2,4,6,8] print(even_numbers[5]) except ZeroDivisionError: print("Denominator cannot be 0.") except IndexError: print("Index Out of Bound.") # Output: Index Out of Bound
Dalam kod ini, kami cuba mengakses elemen pada indeks 5, yang tidak wujud, dan ini mengakibatkan IndexError. Yang kedua kecuali blok menangkap dan mengendalikan ralat khusus ini. Jika tiada ralat berlaku dalam blok cuba, blok kecuali dilangkau.
Python Try dengan Klausa Lain
Kadangkala, anda mungkin mahu melaksanakan blok kod tertentu hanya jika blok cuba berjalan tanpa sebarang ralat. Anda boleh mencapai ini dengan menambah kata kunci lain pilihan selepas blok percubaan. Mari lihat contoh:
# program to print the reciprocal of even numbers try: num = int(input("Enter a number: ")) assert num % 2 == 0 # The assert statement checks that num is even. except: print("Not an even number!") else: reciprocal = 1/num print(reciprocal) Run Code Output:
Jika kita masukkan nombor ganjil:
Masukkan nombor: 1
Bukan nombor genap!
Jika kita memasukkan nombor genap, timbal balik dikira dan dipaparkan.
Masukkan nombor: 4
0.25
Namun, jika kita memasukkan 0, kita mendapat ZeroDivisionError kerana kod di dalam blok else tidak dikendalikan oleh blok sebelumnya kecuali blok.
Masukkan nombor: 0
Traceback (panggilan terbaharu terakhir):
Fail "", baris 7, dalam
timbal balik = 1/num
ZeroDivisionError: pembahagian dengan sifar
Di sini, pernyataan tegas dalam kod menyemak sama ada nombor ialah nombor genap. Jika tidak, AssertionError dibangkitkan, yang kemudiannya ditangkap oleh blok kecuali.
Nota: Pengecualian dalam blok else tidak ditangkap oleh blok sebelumnya kecuali blok.
Python Try...Akhirnya
Blok akhirnya dalam Python sentiasa dilaksanakan, sama ada pengecualian berlaku atau tidak. Ia berguna untuk mengendalikan kod pembersihan, seperti menutup fail atau sambungan pangkalan data, tidak kira sama ada ralat berlaku dalam kod atau tidak. Berikut ialah contoh:
try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") finally: print("This is the finally block.")
Jalankan Kod
Keluaran:
Ralat: Penyebut tidak boleh 0.
Ini adalah blok akhirnya.
Dalam contoh ini, kod di dalam blok akhirnya akan sentiasa dilaksanakan, tidak kira sama ada ralat berlaku atau tidak.
Kesimpulan
Pengendalian pengecualian adalah kemahiran penting bagi sesiapa sahaja yang bersedia untuk peperiksaan pensijilan PCAP. Dalam panduan kajian ini, kami merangkumi asas pengendalian pengecualian dalam Python, termasuk cuba...kecuali blok, menangkap pengecualian khusus, menggunakan klausa lain dan blok akhirnya. Memahami dan menguasai konsep ini akan membantu anda menulis aplikasi Python yang mantap dan bebas ralat, menjadikan anda bersedia dengan baik untuk peperiksaan pensijilan PCAP.
Atas ialah kandungan terperinci Nota Kajian Pengendalian Pengecualian untuk Peperiksaan Pensijilan PCAP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!