BERORIENTASI OBJEK
KEGIATAN 3
Exception Handling
contoh
subkelas dari
Exception IOException Berkaitan dengan operasi masukan/ keluaran
yang tidak valid, membaca melampaui akhir
suatu file, dan membuka file yang tidak ada.
Subkelas dari IOException antara lain:
InterruptedIOException, EOFException,
FileNotFoundException.
Exception runtime direpresentasikan oleh
kelas RunTimeException, yang
mendeskripsikan kesalahan pemrograman,
seperti casting yang salah, pengaksesan
array diluar batas, dan kesalahan numerik.
Kelas Alasan yang mungkin terjadinya
Exception
ArithmeticException Kesalahan pada operasi aritmatika
IndexOutOfBoundsException Beberapa jenis indeks diluar batas
NegativeArraySizeException Array diciptakan dengan ukuran negatif
NullPointerException Penggunaan acuan null yang tidak valid
sub-kelas ArrayStoreException Penyimpanan array dengan tipe data
RunTime yang tidak sesuai
ClassCastException Cast yang tidak valid
Exception
IllegalArrayArgumentException Argumen yang tidak benar
SecurityException Aturan sekuriti yang dilanggar
IllegalMonitorStateException Operasi monitor illegal
IllegalStateException Lingkungan yang tidak benar
UnsupportedOperationException Operasi yang tidak didukung
PENANGANAN EXCEPTION
Untuk menangani exception dalam java, kita gunakan
blok try-catch-throwthrows-finally.
BENTUK UMUM DARI BLOK TRY-CATCH-FINALLY ADALAH :
LISTING PROGRAM
1 try{
2 //tulis pernyataan yang dapat mengakibatkan exception
3 //dalam blok ini
4 }
5 catch( <exceptionType1><varName1> ){
6 //tulis aksi apa dari program Anda yang dijalankan jika ada
7 //exception tipe tertentu terjadi
8 }
Berikut ini adalah aspek kunci tentang sintak dari konstruksi try-catch-finally:
catc
throw
h
*MENAMPILKAN PESAN EXCEPTION*
BEBERAPA METHOD STANDARD YANG DAPAT DIGUNAKAN UNTUK MENAMPILKAN
PESAN EXCEPTION MERUPAKAN ANGGOTA DARI KELAS JAVA.LANG.THROWABLE
Listing Program
• 1 catch(Exception kesalahan)
• 2{
• 3 System.out.println(“mohon maaf, terdapat kesalahan pada
program”);
• 4 //lakukan hal lainnya disini
• 5}
Keywordcatch juga dapat diletakan berulang-ulangsesuai dengan kebutuhan:
Listing Program
1 public class A
2{
3 public static void main(String[] args) {
4 try
5{
6 int a = 1/0; //berpotensi untuk menimbulkan kesalahan yaitu pembagian dengan bilangan 0
7 System.out.println("perintah selanjutnya");
8}
9 catch(NullPointerException e)
10 {
11 }
12 catch(ArrayIndexOutOfBoundsException e)
13 {
14 }
15 catch(Exception e)
16 {
17 }
18 }
19 }
Finally
• Contoh implementasinya pada program :
Listing Program Output Program diatas:
terima kasih telah menjalankan program
1 public class A
2{
3 public static void main(String[] args) {
4 try
5{
6 int a = 1/0; }q
7 finally
8{
9 System.out.println("terima kasih telah menjalankan program");
10 }
11 }
12 }
Jika saya lakukan modifikasi program diatas menjadi :
Listing Program :
• 1 public class A Output Program :
• 2{
ada kesalahan yang muncul terima kasih telah
• 3 public static void main(String[] args) { menjalankan program .
• 4 try
• 5{
• 6 int a = 1/0;
• 7}
• 8 catch (Exception e)
• 9{
• 10 System.out.println(“ada kesalahan yang muncul”);
• 11 }
• 12 finally
• 13 {
• 14 System.out.println(“terima kasih telah menjalankan program”);
• 15 }
• 16 }
• 17 }
#Throw
Listing Program
• 1 public class A Output Program :
• 2{
java.lang.Exception: kesalahan terjadi
• 3 public static void main(String[] args) {
• 4 try
• 5{
• 6 throw new Exception("kesalahan terjadi");
• 7}
• 8 catch(Exception e)
• 9{
• 10 System.out.println(e);
• 11 }
• 12 }
• 13 }
Terima Kasih