Exception adalah suatu objek juga, dan ada banyak class exception yang ada di class build-in, Semua exception itu berasal dari class yang bernama 'BaseException'.
Exception digunakan untuk menangani jalannya program, bila sesuatu yang tidak diharapkan terjadi, dengan exception maka kesalahan ini bisa diketahui.
Ada beberapa exception yang bisa kita lakukan :
Ada beberapa exception yang bisa kita lakukan :
- try/except - Menangkap dan kembali ke program yang ditangani oleh Pyhon atau kita.
- try/finally - Melakukan pembersihan, dengan atau tidak ada exception yang terjadi.
- raise - melakukan exception dengan kode yang kita buat.
- assert - Kondisi yang terjadi pada sebuah exception yang kita buat.
- with/as - Pada python 2.6, 3.0 dan yang terbaru, mengimplementasikan context manager.
Exception digunakan untuk menangkap sesuatu yang tidak biasa, atau adanya error, kesalahan memasukan data, dan lain-lain. Misalnya (jangan diasumsikan contoh ini dalam program, illustrasi ini hanya terjadi pada kehidupan, tapi bisa juga dibuat programnya.) kita misalnya bermain sepak bola, kita tahu semua pelaturannya. Ketika kita main bola, tiba-tiba ada meteor jatuh ditempat gawang lawan, dan kita pas menendang tepat kearah gawang yang tidak dijaga oleh lawan. Harusnya itu masuk, tetapi karena gawangnya jadi gepeng oleh meteor sehingga ini jadi permasalahan, ini yang ditangkap oleh exception. Bila pada sepakbola ada exception, maka kejadian ini diambil alih oleh exception standar, atau exception yang kita buat sendiri, dan permainan bisa berlanjut kembali (bila ada gawang cadangan) seakan-akan tidak ada kejadian yang aneh.
Peran dari exception ini biasanya untuk mengatasi error, pemberitahuan kejadian yang jarang, kasus-kasus yang tidak biasa, melakukan penghentian program, dan juga membuat flow control program yang tidak biasa.
Contoh diatas merupakan hal yang memang diharapkan, tapi bila kita tulis :
Karena index pada variable aa tidak sampai 8, maka error message dikeluarkan dan kita tidak memiliki exception. Pada contoh diatas error message yang terjadi merupakan sebuah exception standar.
Pada contoh diatas kita mendapatkan pesan bahwa index ada kesalahan (baris ke 7) IndexError: string index out of range.
Kita coba menggunakan message exception yang kita buat sendiri:
Peran dari exception ini biasanya untuk mengatasi error, pemberitahuan kejadian yang jarang, kasus-kasus yang tidak biasa, melakukan penghentian program, dan juga membuat flow control program yang tidak biasa.
- >>> def met(objek1,index1):
- return objek1[index1]
- >>> aa='hello'
- >>> met(aa,3)
- 'l'
- >>>
Contoh diatas merupakan hal yang memang diharapkan, tapi bila kita tulis :
- >>> met(aa,8)
- Traceback (most recent call last):
- File "<pyshell#5>", line 1, in <module>
- met(aa,8)
- File "<pyshell#2>", line 2, in met
- return objek1[index1]
- IndexError: string index out of range
- >>>
Karena index pada variable aa tidak sampai 8, maka error message dikeluarkan dan kita tidak memiliki exception. Pada contoh diatas error message yang terjadi merupakan sebuah exception standar.
Pada contoh diatas kita mendapatkan pesan bahwa index ada kesalahan (baris ke 7) IndexError: string index out of range.
Kita coba menggunakan message exception yang kita buat sendiri:
- >>> try:
- met(aa,8)
- except IndexError:
- print('indexnya salah euy')
- indexnya salah euy
- >>>
Sekarang kita mendapatkan pesan yang kita buat sendiri.
Contoh diatas merupakan kesalahan standar yang ada pada python. Kita juga bisa membuat exception yang menurut python tidak ada kesalahan dengan menggunakan perintah raise:
- >>> try :
- raise IndexError
- except IndexError:
- print ('error yang kita buat')
- error yang kita buat
- >>>
Membuat sebuah class exception sendiri yang kita sendiri membuat aturannya mainnya. Kira-kira seperti ini class-nya:
- class exceptku(Exception):
- print('masuk class')
- def errku():
- print('masuk def errku')
- raise exceptku()
- print ('mulai')
- try:
- print('masuk try')
- errku()
- except exceptku:
- print('masuk except')
No comments:
Post a Comment