Try dan Except Pada Python

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 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 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")