Saturday 16 May 2015

15. Dasar Exception Handling

Fungsi - fungsi dan methoda pada Python memiliki output untuk pesan 'error' dan keterangan penting lainnya. Exception adalah objek seperti objek-objek lainnya, dan ketika objek tersebut dikonversikan kedalam 'string', sehingga objek tersebut menjadi pesan text.

Dengan kata lain, bila fungsi dan methoda digunakan secara tidak benar atau tidak bisa berjalan seperti yang diperintahkan, maka fungsi dan methoda tersebut mengeluarkan pesan error.

Format sederhananya adalah:
  1. try:
  2.      perintah 1
  3. except eksepsi1 as variabel1:
  4.      perintah 2
  5. ...
  6. except eksepsi2 as varibel2:
  7.      perintah 3


Untuk 'as variabel' adalah optional, bila kita mencari sesuatu yang specifik.

Untuk 'except' bisa menangani banyak exception, dan juga bisa menggunakan 'else' yang merupakan optional.

Cara kerjanya adalah seperti ini:
Bila statement yang ada pada block 'try' tidak ada masalah, maka block 'except' akan dilompati. 
Bila ada sesuatu yang tidak semestinya pada block 'try', maka selanjutnya akan dicocokan pada block 'except' yang pertama, bila tidak cocok maka akan dicocokan dengan block 'except' yang berikutnya, dan terus mencocokan dengan block except yang berikutnya sampai terakhir. Bila pada akhir tidak ada yang cocok, maka Python akan memberikan pesan standar yang ada pada fungsi atau methode tersebut.
Bila block except cocok, maka perintah yang ada pada block tersebut akan dilakukan.

Pada IDLE, File > New File
Lalu File > Save, arahkan ke folder python yang kita inginkan, dan beri nama testexception.py
tulis :

aInput=input('masukan sebuah angka integer :')
try:
     i=int(aInput)
     print('angka integer yang dimasukan adalah:',i)
except ValueError as err:

     print('ada kesalahan :',err)

Kemudian File > Save
Lalu  Run > Run Module, atau langsung tekan F5.


  1. >>> =============== RESTART ========================
  2. >>> 
  3. masukan sebuah angka integer :5
  4. angka integer yang dimasukan adalah: 5
  5. >>> =============== RESTART ========================
  6. >>> 
  7. masukan sebuah angka integer :1.1
  8. ada kesalahan : invalid literal for int() with base 10: '1.1'
  9. >>> 


Percobaan 1: 
masukan angka '5' ketika diminta input.

Disini semua berjalan dengan baik. karena 5 merupakan sebuah integer.

Percobaan 2:
masukan angka '1.1' ketika diminta input.

Pada Percobaan ini pada block try terjadi sesuatu yang salah (input yang kita masukan bukanlah integer), sehingga perintah dilemparkan ke block except.

No comments:

Post a Comment