Blok try
memungkinkan kamu untuk menguji blok kode error.
Blok except
memungkinkan kamu menangani error.
Blok finally
memungkinkan kamu mengeksekusi kode, terlepas dari hasil blok try dan except.
Handling Exception
Ketika error terjadi, atau except seperti yang kita sebut, Python biasanya akan berhenti dan menghasilkan pesan error.
Exception ini dapat ditangani dengan menggunakan pernyataan try
:
Contoh
Blok try
akan menghasilkan except, karena x
tidak didefinisikan:
try: print(x) except: print("An exception occurred")
Karena blok coba memunculkan error, blok except akan dieksekusi.
Tanpa blok try, program akan macet dan menimbulkan error:
Contoh
Pernyataan ini akan menimbulkan error, karena x
tidak didefinisikan:
print(x)
Banyaknya Exception
Kamu dapat mendefinisikan sebanyak mungkin blok exception, misalnya jika kamu ingin mengeksekusi blok kode khusus untuk jenis error khusus:
Contoh
Cetak satu pesan jika blok try menimbulkan NameError
dan lainnya untuk error lainnya:
try: print(x) except NameError: print("Variable x is not defined") except: print("Something else went wrong")
Else
Kamu dapat menggunakan kata kunci else
untuk menentukan blok kode yang akan dieksekusi jika tidak ada kesalahan yang muncul:
Contoh
Dalam contoh ini, blok try
tidak menghasilkan kesalahan apa pun:
try: print("Hello") except: print("Something went wrong") else: print("Nothing went wrong")
Finally
Blok finally
, bila ditentukan, akan dieksekusi terlepas jika blok try menimbulkan error atau tidak.
Contoh
try: print(x) except: print("Something went wrong") finally: print("The 'try except' is finished")
Ini berguna untuk menutup objek dan membersihkan resource:
Contoh
Cobalah untuk membuka dan menulis ke file yang tidak dapat ditulisi:
try: f = open("demofile.txt") f.write("Lorum Ipsum") except: print("Something went wrong when writing to the file") finally: f.close()
Program dapat melanjutkan, tanpa membiarkan objek file terbuka.
Raise Exception
Sebagai developer Python, kamu dapat memilih untuk melemparkan exception jika suatu kondisi terjadi.
Untuk melempar (atau raise) exception, maka gunakan kata kunci raise
.
Contoh
Angkat error dan hentikan program jika x lebih rendah dari 0:
x = -1 if x < 0: raise Exception("Sorry, no numbers below zero")
Kata kunci raise
digunakan untuk memunculkan exception.
kamu dapat menentukan jenis error apa yang ingin diangkat, dan teks yang akan dicetak kepada pengguna.
Contoh
Naikkan TypeError jika x bukan bilangan bulat:
x = "hello" if not type(x) is int: raise TypeError("Only integers are allowed")