Dalam tutorial terakhir, kita belajar tentang pengecualian Python. Kita tahu bahwa pengecualian menghentikan eksekusi program secara tidak normal
Inilah sebabnya mengapa penting untuk menangani pengecualian. Di Python, kami menggunakan blok try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 0
Python mencoba. kecuali Blok
Blok try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 0 digunakan untuk menangani pengecualian di Python. Inilah sintaks dari try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 0 blok
try: # code that may cause exception except: # code to run when exception occursDi sini, kami telah menempatkan kode yang mungkin menghasilkan pengecualian di dalam blok try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 3. Setiap try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 3 blok diikuti oleh try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 5 blok
Ketika pengecualian terjadi, itu ditangkap oleh blok try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 5. Blok try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 5 tidak dapat digunakan tanpa blok try
Contoh. Penanganan Pengecualian Menggunakan try. kecuali
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, kami mencoba membagi angka dengan 0. Di sini, kode ini menghasilkan pengecualian
Untuk menangani pengecualian, kami telah meletakkan kode, try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 8 di dalam blok try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 3. Sekarang ketika pengecualian terjadi, sisa kode di dalam blok try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 3 dilewati
Blok try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 5 menangkap pengecualian dan pernyataan di dalam blok try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 5 dieksekusi
Jika tidak ada pernyataan di blok try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. _3 yang menghasilkan pengecualian, blok try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 5 akan dilewati
Menangkap Pengecualian Khusus dengan Python
Untuk setiap try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 3 blok, bisa ada nol atau lebih try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 5 blok. Beberapa blok try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 5 memungkinkan kita untuk menangani setiap pengecualian secara berbeda
Jenis argumen dari setiap blok try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 5 menunjukkan jenis pengecualian yang dapat ditangani olehnya. Sebagai 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 BoundDalam contoh ini, kami telah membuat daftar bernama even_numbers
Karena indeks daftar dimulai dari 0, elemen terakhir daftar berada di indeks 3. Perhatikan pernyataan,
print(even_numbers[5])Di sini, kami mencoba mengakses nilai ke indeks 5. Karenanya, pengecualian 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_9 terjadi
Ketika pengecualian 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_9 terjadi di blok try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 3,
- Pengecualian print(even_numbers[5])2 dilewati
- Kumpulan kode di dalam pengecualian 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_9 dijalankan
Python coba dengan klausa lain
Dalam beberapa situasi, kita mungkin ingin menjalankan blok kode tertentu jika blok kode di dalam try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 3 berjalan tanpa kesalahan
Untuk kasus ini, Anda dapat menggunakan kata kunci print(even_numbers[5])5 opsional dengan pernyataan try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 3
Mari kita lihat sebuah contoh
# program to print the reciprocal of even numbers try: num = int(input("Enter a number: ")) assert num % 2 == 0 except: print("Not an even number!") else: reciprocal = 1/num print(reciprocal)Keluaran
Jika kita melewati angka ganjil
Enter a number: 1 Not an even number!Jika kita melewatkan bilangan genap, kebalikannya dihitung dan ditampilkan
Namun, jika kita melewati 0, kita mendapatkan print(even_numbers[5])2 karena blok kode di dalam print(even_numbers[5])5 tidak ditangani oleh try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 5 sebelumnya
Enter a number: 0 Traceback (most recent call last): File "", line 7, in reciprocal = 1/num ZeroDivisionError: division by zeroCatatan. Pengecualian dalam klausa print(even_numbers[5])_5 tidak ditangani oleh klausa kecuali sebelumnya
Python mencoba. akhirnya
Di Python, blok # program to print the reciprocal of even numbers try: num = int(input("Enter a number: ")) assert num % 2 == 0 except: print("Not an even number!") else: reciprocal = 1/num print(reciprocal)_1 selalu dieksekusi tidak peduli apakah ada pengecualian atau tidak
Blok # program to print the reciprocal of even numbers try: num = int(input("Enter a number: ")) assert num % 2 == 0 except: print("Not an even number!") else: reciprocal = 1/num print(reciprocal)_1 adalah opsional. Dan, untuk setiap try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 3 blok, hanya boleh ada satu blok # program to print the reciprocal of even numbers try: num = int(input("Enter a number: ")) assert num % 2 == 0 except: print("Not an even number!") else: reciprocal = 1/num print(reciprocal)1
Mari kita lihat sebuah contoh,
try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") finally: print("This is finally block.")Keluaran
Error: Denominator cannot be 0. This is finally block.Dalam contoh di atas, kita membagi angka dengan 0 di dalam blok try: numerator = 10 denominator = 0 result = numerator/denominator print(result) except: print("Error: Denominator cannot be 0.") # Output: Error: Denominator cannot be 0. 3. Di sini, kode ini menghasilkan pengecualian