Apa itu exception handling ?
Exception handling
Exception Handling merupakan mekanisme yang paling diperlukan dalam menangani error yang terjadi pada saat runtime (program berjalan) atau yang lebih dikenal dengan sebutan runtime error. Secara umum, adanya kesalahan / error yang terjadi pada program pada saat runtime dapat menyebabkan program berhenti atau hang. Untuk itulah diperlukan mekanisme untuk memastikan bahwa program tetap dapat berjalan meskipun terdapat kesalahan yang terjadi.
Perbedaan antara Class Error dan Class Exception di java
Penjelasan program pada Class Error :
“An
Error
is a subclass of Throwable
that indicates serious problems that a reasonable application should not try to catch. Most such errors are abnormal conditions” (JDK 5.0 Documentation)
Penjelasan program pada class Exception :
“The class
Exception
and its subclasses are a form of Throwable
that indicates conditions that a reasonable application might want to catch. “ (JDK 5.0 Documentation)
Seperti dari penjelasan yang diberikan oleh JDK Documentation, maka dapat kita lihat bahwa error dan exception pada dasarnya berbeda. Error merupakan masalah yang muncul tapi tidak ada alasan yang kuat untuk menangkapnya. Sedangkan Exception merupakan kesalahan kecil yang muncul dan ingin diperlakukan sesuai keinginan developer.
Contoh Exception Handling :
Ada 5 keyword penting dalam java dalam hal exceptionhandling :
1. try, Keyword ini biasanya digunakan dalam suatu blockprogram. keyword ini digunakan untuk mencoba menjalankan blockprogram kemudian mengenai dimana munculnya kesalahan yang ingin diproses.
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 blocktry. Setelah menangkap kesalahan yang terjadi maka developer dapat melakukan hal apapun pada blockcatch 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, Keywordthrows digunakan dalam suatu method atau kelas yang mungkin menghasilkan suatu kesalahan sehingga perlu ditangkap errornya.
contoh program :
1. exception
public
class tugas_exception {
public static void main(String[]args){
int nilai[] = {41,42,43,44};
System.out.println(nilai[5]);
}
}
2. exception dengan try catch
public
class tugas_trycatch {
public static void main(String[]args){
int nilai[] = {41,42,43,44};
try{
System.out.println(nilai[5]);
} catch(Exception e){
e.printStackTrace();
System.out.println("error
karena index array hanya ada 4");
}
}
}
exception yang dapat terjadi pada java :
Exception | Keterangan |
---|---|
VirtualMachineError | JVM mengalami kerusakan atau berjalan diluar sumber daya yang diperlukan untuk memulai operasi. |
AWTError() | Error serius yang terjadi pada Abstract Window Toolkit. |
LinkageError | Sebuah kelas mempunyai ketergantungan pada kelas lain. Namun demikian, kelas terakhir telah berubah setelah kompilasi kelas pertama. |
Exception ini muncul karena adanya permasalahan yang disebabkan oleh program atau oleh situasi eksternal. Berikut ini adalah tabel beberapa kelas exception yang merupakan turunan dari kelas Exception.
ExceptionTurunan Dari Kelas ExceptionException | Keterangan |
---|---|
IOException | Berhubungan dengan operasi input dan output seperti membuka file yang tidak ada, membaca melampaui akhir file serta member input dengan nilai yang tidak sah. |
ClassNotFoundException | Menggunakan sebuah kelas yang tidak ada. |
CloneNotSupportedException | Mencoba untuk mengkloning obyek yang kelas pendefinisiannya tidak mengimplementasikan interfes Cloneable. |
Runtime exception muncul karena adanya error pemrograman seperti pengaksesan larik diluar batasan yang diperbolehkan, pembagian nilai numerik dengan 0 dan sebagainya. Berikut ini adalah tabel beberapa kelas Exception yang merupakan turunan dari kelas RuntimeException.
ExceptionTurunan Dari Kelas RuntimeExceptionException | Keterangan |
---|---|
ArithmeticException | Error aritmatika misalnya operasi pembagian suatu nilai numerik dengan 0. |
NullPointerException | Mencoba mengakses obyek melalui variabel acuan yang bernilai null. |
ArrayIndexOutOfBoundsException | Indek suatu larik (array) tidak di dalam panjang larik (array.length). |
IllegalArgumentException | Argumen yang menyalahi ketentuan. |
NumberFormatException | Penggunaan format angka yang salah. |
Comments
Post a Comment