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
– 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, try, catch, finally, throw, 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 Handling. Exception 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.
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 program. keywordini 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
Post a Comment