• Dalam dunia pengembangan software tentunya programmer tidak ane dengan istilah
ERROR
• Hal tersebut tidak bisa dihindari karena hal ini dapat terjadi diluar perkiraan dan
mungkin bisa menuntun perangkat lunak ke dalam kondisi error yang disebut
EXCEPTION.
• EXCEPTION adalah suatu kejadian/event yang terjadi ketika eksekusi program yang akan
mengganggu alur program.
• Dengan exception, alur program dapat diatur agar melakukan suatu proses ketika
sebuah error terjadi.
• Contoh kejadian:
• Pembagian dengan angka0
• File tidak ditemukan
• Koneksi jaringan terputus ketika membaca data
Oleh : Andri Heryandi, M.T.
Oleh : Andri Heryandi, M.T.
• Nama class exception yang terjadi
ArithmeticException
• Terdapat informasi lokasi terjadinya ERROR
(menuliskan hasil dan program ditutup
normal) tidak tereksekusi karena program di
terminate
Oleh : Andri Heryandi, M.T.
Penanganan exception dapat dilakukan dengan menggunakan
1. Block try catch
2. Block try catch finally
Oleh : Andri Heryandi, M.T.
• Terdapat baris perintah yang setelah lokasi terjadinya
ERROR (menuliskan hasil dan program ditutup
normal) TETAP terekseksui walaupun terjadi
exception
Oleh : Andri Heryandi, M.T.
Jika sebuah/sekumpulan statement memiliki banyak kemungkinan exception, maka untuk
penanganan tiap exception bisa menggunakan block try yang memiliki banyak catch.
ContohKasus:
Pada contoh program sebelumnya(class ContohException2) adabariskb.nextInt() yang
berguna untuk membaca sebuah integer dari keyboard. Bagaimana kalau yang diinputkan
bukan integer, tapi string?
Oleh : Andri Heryandi, M.T.
Solusi :
Berarti ada 2 exception yang harus dihandle dalam program tersebut yaitu Arithmetic
Exception dan Input Mismatch Exception
Oleh : Andri Heryandi, M.T.
Oleh : Andri Heryandi, M.T.
Jika sebuah exception terjadi, maka baris-baris di blok try setelah
baris terjadinya exception pasti tidak akan tereksekusi karena alur
program akan pindah ke blok catch. Jika baris-baris dibawah lokasi
exception ingin tetap dijalankan ketika terjadi exception ataupun
tidak terjadi exception, maka tulislah perintah-perintah tersebut di
bagian finally.
• Finally ditulis di bawah catch.
• Blok finally PASTI dieksekusi walaupun tidak terjadi exception.
• Blok finally biasanya digunakan untuk melepas resource (tutup
file, tutup koneksi ke jaringan, free memory dll).
Oleh : Andri Heryandi, M.T.
• “Tutup scanner” akan dieksekusi baik
ketika terjadi exception atau tidak
Oleh : Andri Heryandi, M.T.
Tidak semua exception yang telah didefinisikan oleh Java mendukung semua kebutuhan kita.
Contoh Kasus:
• Untuk nilai suatu matakuliah, nilai hanya boleh 0 sampai 100.
• Java tidak memiliki exception untuk menangani exception tersebut.
Solusi: Buatlah exception sendiri
Cara membuat exception sendiri:
Buat sebuah class turunan dari Exception atau Runtime Exception
• Exception yang menggunakan super class Exception disebut sebagai checked exception. Jika
suatu method melemparkan exception jenis ini, maka pemanggilan method ini harus dalam
blok try-catch.
• Exception yang menggunakan super class Runtime Exception disebut sebagai unchecked
exception. Jika suatu method melemparkan exception jenis ini, maka pemanggilan method ini
tidak harus dalam blok try-catch.
Oleh : Andri Heryandi, M.T.
Oleh : Andri Heryandi, M.T.
• Throwing Exception adalah suatu operasi melemparkan sebuah
exception ketika sebuah exception terjadi.
• Perintah untuk melempar sebuah exception adalah throw.
• Untuk mendefinisikan sebuah method bisa melemparkan exception
tertentu, maka gunakan keyword throws di pendefinisian method,
diikuti dengan class exceptionnya.
Oleh : Andri Heryandi, M.T.

[PBO] Pertemuan 10 - Exception & Error Handling

  • 3.
    • Dalam duniapengembangan software tentunya programmer tidak ane dengan istilah ERROR • Hal tersebut tidak bisa dihindari karena hal ini dapat terjadi diluar perkiraan dan mungkin bisa menuntun perangkat lunak ke dalam kondisi error yang disebut EXCEPTION. • EXCEPTION adalah suatu kejadian/event yang terjadi ketika eksekusi program yang akan mengganggu alur program. • Dengan exception, alur program dapat diatur agar melakukan suatu proses ketika sebuah error terjadi. • Contoh kejadian: • Pembagian dengan angka0 • File tidak ditemukan • Koneksi jaringan terputus ketika membaca data Oleh : Andri Heryandi, M.T.
  • 4.
    Oleh : AndriHeryandi, M.T. • Nama class exception yang terjadi ArithmeticException • Terdapat informasi lokasi terjadinya ERROR (menuliskan hasil dan program ditutup normal) tidak tereksekusi karena program di terminate
  • 5.
    Oleh : AndriHeryandi, M.T. Penanganan exception dapat dilakukan dengan menggunakan 1. Block try catch 2. Block try catch finally
  • 6.
    Oleh : AndriHeryandi, M.T. • Terdapat baris perintah yang setelah lokasi terjadinya ERROR (menuliskan hasil dan program ditutup normal) TETAP terekseksui walaupun terjadi exception
  • 7.
    Oleh : AndriHeryandi, M.T. Jika sebuah/sekumpulan statement memiliki banyak kemungkinan exception, maka untuk penanganan tiap exception bisa menggunakan block try yang memiliki banyak catch. ContohKasus: Pada contoh program sebelumnya(class ContohException2) adabariskb.nextInt() yang berguna untuk membaca sebuah integer dari keyboard. Bagaimana kalau yang diinputkan bukan integer, tapi string?
  • 8.
    Oleh : AndriHeryandi, M.T. Solusi : Berarti ada 2 exception yang harus dihandle dalam program tersebut yaitu Arithmetic Exception dan Input Mismatch Exception
  • 9.
    Oleh : AndriHeryandi, M.T.
  • 10.
    Oleh : AndriHeryandi, M.T. Jika sebuah exception terjadi, maka baris-baris di blok try setelah baris terjadinya exception pasti tidak akan tereksekusi karena alur program akan pindah ke blok catch. Jika baris-baris dibawah lokasi exception ingin tetap dijalankan ketika terjadi exception ataupun tidak terjadi exception, maka tulislah perintah-perintah tersebut di bagian finally. • Finally ditulis di bawah catch. • Blok finally PASTI dieksekusi walaupun tidak terjadi exception. • Blok finally biasanya digunakan untuk melepas resource (tutup file, tutup koneksi ke jaringan, free memory dll).
  • 11.
    Oleh : AndriHeryandi, M.T. • “Tutup scanner” akan dieksekusi baik ketika terjadi exception atau tidak
  • 12.
    Oleh : AndriHeryandi, M.T. Tidak semua exception yang telah didefinisikan oleh Java mendukung semua kebutuhan kita. Contoh Kasus: • Untuk nilai suatu matakuliah, nilai hanya boleh 0 sampai 100. • Java tidak memiliki exception untuk menangani exception tersebut. Solusi: Buatlah exception sendiri Cara membuat exception sendiri: Buat sebuah class turunan dari Exception atau Runtime Exception • Exception yang menggunakan super class Exception disebut sebagai checked exception. Jika suatu method melemparkan exception jenis ini, maka pemanggilan method ini harus dalam blok try-catch. • Exception yang menggunakan super class Runtime Exception disebut sebagai unchecked exception. Jika suatu method melemparkan exception jenis ini, maka pemanggilan method ini tidak harus dalam blok try-catch.
  • 13.
    Oleh : AndriHeryandi, M.T.
  • 14.
    Oleh : AndriHeryandi, M.T. • Throwing Exception adalah suatu operasi melemparkan sebuah exception ketika sebuah exception terjadi. • Perintah untuk melempar sebuah exception adalah throw. • Untuk mendefinisikan sebuah method bisa melemparkan exception tertentu, maka gunakan keyword throws di pendefinisian method, diikuti dengan class exceptionnya.
  • 15.
    Oleh : AndriHeryandi, M.T.