loading...

Pengertian Exception

PENGERTIAN EXCEPTION


adalah event yang terjadi ketika program menemui kesalahan pada saat instruksi program dijalankan. Banyak hal yang dapat menimbulkan event ini, misalnya crash, harddisk rusak dengan tiba-tiba, sehingga program-program tidak bisa mengakses file-file tertentu. Programmer pun dapat menimbulkan event ini, misalnya dengan melakukan pembagian dengan bilangan nol, atau pengisian elemen array melebihi jumlah elemen array yang dialokasikan dan sebagainya.

Pengertian

Suatu program apabila mengalami kesalahan akan menghasilkan suatu runtime errors seperti gagal membuka file, suatu program melakukan akses diatas rangearray dan lain-lain. ketika runtime errors tersebut terjadi, aplikasi akan membuat suatu exception

Jenis – jenis Exception: 

 Exception class merupakan kesalahan yang disebabkan oleh program dan kesalahan external. Kesalahan jenis ini dapat ditangkap dan diatasi oleh program. Exception terdiri dari banyak subclass.
 Error class merupakan class yang berhubungan dengan kesalahan padainternal system. Jika terjadi kesalahan jenis ini maka hanya dapat dilakukan bagaimana memberitahu kepada pemakai dan melakukan pengakhiran program.

Operasi Exception dibagi menjadi 3 buah operasi, yaitu :
§    Claiming an exception 
§    Throwing an exception 
§    Catching an exception


Exception 

merupakan sebuah event yang akan menginterupsi program yang tidak berjalan normal / error, lebih mudahnya error handling merupakan penanganan error. Tidak semua penanganan error ditangani dengan exception, namun dapat mempermudah penanganan error.
Exception terdiri dari dua macam kelompok, yaitu :
– Exception yang merupakan subclass RunTimeException
– Exception yang bukan subclass RunTimeException
RunTime Exception biasanya disebabkan oleh kesalahan program atau pada desain program. Misalnya NullPointerException yang disebabkan oleh proses inisialisasi program yang tidak sempurna dan ArrayIndexOutOfBoundsException yang  disebabkan akses array yang melebihi kapasitas array yang ada Dalam bahasa Java, ketika terjadi kesalahan, otomatis akan dilemparkan sebuah objek yang disebut exception, yang kemudian dapat diproses lebih lanjut oleh fungsi-fungsi yang siap menangani kesalahan tersebut. Proses pelemparan exception tersebut sering dikenal dengan istilah throwing exception, sedangkan proses penerimaan exception yang bersangkutan dikenal dengan istilah catch exceptionAda lima kata kunci yang digunakan oleh Java untuk menanngani exception ini, yaitu, trycatchfinallythrow, dan throws.

pembahasannya :Pada dasarnya, Exception merupakan subkelas dari kelasjava.lang.Throwable.  “Bukalah dokumentasi java untuk lebih menyakinkan anda”. Karena Exception adalah sebuah kelas maka hakikatnya ketika program berjalan dan muncul sebuah bug atau kesalahan maka bug tersebut dapat dianggap sebuah object.  Sehingga ketika object ini di tampilkan di layar maka java akan secara otomatis memanggil method toString yang terdapat dalamobject bertipe Exception ini. Java memberikan akses kepada developer untuk mengambil object bug yang terjadi ini dengan mekanisme yang dikenalException HandlingException handling merupakan fasilitas di java yang memberikan flexibilitas kepada developer untuk menangkap bug atau kesalahan yang terjadi ketika program berjalan. Contoh Exception Handling akan dibahas pada bagian berikutnya. 

jenis error ada 3 :

1. Syntax Error, Syntax Error adalah suatu kesalahan dari penulisan syntax pada program sehingga syntax tersebut tidak dapat dieksekusi oleh program yang pasti membuat program tersebut error.

2. Logical Error, Logical Error adalah suatu kesalahan yang disebabkan oleh si programmer sendiri, lah kok bisa? hal ini disebabkan oleh kesalahan penulisan atau rumus yang diterapkan oleh si programmer.
anda pasti tahu bila semua angka tidak dapat dibagi oleh 0 (nol).
lah kalau si programmer tetep ngotot,pasti programnya error.

3. runtime Error, error yang satu ini tergolong error yang unik,lah kenapa? soalnya menurut saya errornya gara-gara kecerobohan si programmer itu sendiri. error ini akan muncul apabila terjadi miss komunikasi antara program dan file yang dipanggil dalam program, misalnya program itu membutuhkan database yang bernama db_siswa yang disimpan pada localhost,tapi kenyatannya ternyata si programmer tidak mempunyai atau belum membuat database tersebut di localhost, program akan tetap berjalan, namun saat aksi simpan data, hapus data atau tampil data pasti program akan error.

Ada 5 keyword penting dalam java dalam hal exception handling :

1. try, Keyword ini biasanya digunakan dalam suatu block programkeywordini digunakan untuk mencoba menjalankan block program kemudian mengenai dimana munculnya kesalahan yang ingin diproses. Keyword ini juga harus dipasangkan dengan keyword catch atau keyword finally yang akan dibahas pada point kedua dan ketiga.

2. catch, Jika anda sudah melihat contoh try maka secara tidak langsung anda sudah memahami kegunaan dari keyword ini. Dalam java, keyword catch harus dipasangkan dengan try. Kegunaan keyword ini adalah menangkap kesalahan atau bug yang terjadi dalam block try. Setelah menangkap kesalahan yang terjadi maka developer dapat melakukan hal apapun pada block catch sesuai keinginan developer.

3. finally, Keyword ini merupakan keyword yang menunjukan bahwa blockprogram tersebut akan selalu dieksekusi meskipun adanya kesalahan yang muncul atau pun tidak ada.

4. throw, Keyword ini digunakan untuk melemparkan suatu bug yang dibuat secara manual.

5. throws, Keyword throws digunakan dalam suatu method atau kelas yang mungkin menghasilkan suatu kesalahan sehingga perlu ditangkap errornya


finally



1.            finally digunakan bila semua kode yang terdapat dalam blok finally pasti akan dieksekui apapun yang terjadi di dalam blok try catch.

2.            contoh :
class demoeksepsi{
public static void methodlain(int i) throws java.io.CharConversionException{
System.out.println(“buka file”);
try{
System.out.println(“Proses file”);
if(i==0)
throw new java.io.CharConversionException(“test eksepsi”);
}catch(java.io.CharConversionException e){
System.out.println(“penanganan eksepsi dalam methodlain()”);
throw e;
}finally{
System.out.println(“tutup file”);
}
}

public static void main(String args[]){
try{
methodlain(args.length);
}catch(java.io.CharConversionException e){
System.out.println(“penanganan eksepsidalam method main()”);
}
}
}
3.            Contoh 2, try-finally  tanpa catch:
class demoeksepsi{
public static void methodlain(int i) throws java.io.CharConversionException{
System.out.println(“buka file”);
try{
System.out.println(“Proses file”);
if(i==0)
throw new java.io.CharConversionException(“test eksepsi”);
}finally{
System.out.println(“tutup file”);
}
}

public static void main(String args[]){
try{
methodlain(args.length);
}catch(java.io.CharConversionException e){
System.out.println(“penanganan eksepsidalam method main()”);
}
}
}

Penggunaan Blok Try Catch

1.            Beberapa alasan mengapa kita menggunakan penanganan eksepsi:
a.            Kita ingin program kita memperbaiki kesalahan akibat eksepsi dan terus melanjutkan eksekusi seolah-olah tidak pernah terjadi eksepsi
b.            Kita ingin menganti pesan kesalahan dengan pesan yang lebih user friendly.
c.            Kita ingin program terus berjalan dan bukannya dihentikan pada saat eksepsi terjadi.
2.            Contoh program yang menggunakan try-catch:
class demoeksepsi{
public staic void main(String args[]){
try{
int[] arr=new int[1];
System.out.println(arr[1]);
System.out.println(“baris ini tidak akan pernah dieksekusi”);
}catch(ArrayIndexOutOfBoundsException e){
System.out.println(“terjadi eksepsi karena indeks diluar kapasitas array.”);
}
System.out.println(“sesudah blok try catch”);
}

}

Semoga Bermanfaat.

Comments

Popular Posts