Penanganan Error
Kategori Exception
Kategori-kateogori exception, adapan kategori-kategori exception adalah, sebagai berikut:
Checked exceptions
Checked exceptions merupakan exception yang disebabkan oleh kesalahan pemakai program atau hal lain yang dapat diprediksi oleh pemrograman.
Runtime exception
Runtime exception adalah exception yang muncul dimana kemunculannya tidak bisa dihindari oleh pemrograman. Runtime exception biasanya disebabkan oleh kesalhan program atau pada desain program.
Errors
Error sebenarnya bukan exception, namun merupakan masalah yang muncul diluar kendali pemakai dan pemrogram. Error secara umum akan dibiarkan saja, sebab tidak ada yang bisa dilakukan untuk mengatasinya. Misalnya, jika stack overflow muncul maka error akan muncul. Adapun jenis-jenis error yaitu:
1. Syntax error
Syntax Error merupakan suatu kesalahan dari penulisan syntax pada program sehingga syntax tersebu tidak dapat dieksekusi oleh program yang pasti membuat program tersebut error.
2. Logical Error
Method where error occurred Method without an exception handler Method with an exception handler main
3. Logical Error
adalah sutau kesalahan yang disebabkan oleh si programmer sendiri, hal ini disebabkan oleh kesalhan penulisan atau rumus yang diterapkan oleh si programmer
4. Runtime error Error
yang satu ini tergolong error yang unik, karena error ini akibat dari kecerobohan seorang programmer itu sendiri. Error ini akan muncul apabila terjadi miskomunikasi antara program dan difile yang dipanggil dalam program.
Dasar Exception
Dasar-Dasar Exception Handling (Penanganan Eksepsi)
Penanganan eksepsi pada java diatur dengan lima kata kunci: try, catch, throw, throws dan finally. Pada dasarnya try digunakan untuk mengeksekusi suatu bagian program, dan jika muncul kesalahan, sistem akan melakukan throw suatu eksepsi yang dapat menangkap (catch) berdasarkan tipe eksepsi atau yang diberikan finally dengan penganan default.
Berikut ini bentuk dasar bagian penanganan eksepsi:
try{
//Block of Code }
catch (Exception Type1 e)
{
//Exception Handler for Exception Type1 }
catch (Exception Type2 e)
{
//Exception Handler for Exception Type2
Throw(e);//re-throw the Exception...
} finally{
}
Pada bentuk diatas, bagian finally akan dijalankan, tidak tergantung apakah bagian blok try mengalami eksepsi maupun tidak.
Exception
Eksepsi (exception) adalah suatu even, yang terjadi selama eksekusi program, yang mengacaukan alrr normal instruksi program. Pada prinsipnya, eksepsi adalah suatu objek, yang diturunkan dari kelas java.lang.Throwable. Dalam menangani suatu eksepsi, Java menggunakan mekanisme penanganan eksepsi terstruktur.
Exception Handling
EXCEPTION HANDLING
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 yersebut sering dikenal denga istilah throwing exception, sedangkan penerimaan exception yang bersangkutan dikenal dengan istilah catch exception.
Eksepsi (exception) adalah suatu even, yang terjadi selama eksekusi program, yang mengacaukan alrr normal instruksi program. Pada prinsipnya, eksepsi adalah suatu objek, yang diturunkan dari kelas java.lang.Throwable. Dalam menangani suatu eksepsi, Java menggunakan mekanisme penanganan eksepsi terstruktur.
Suatu program apabila mengalami kesalahan akan mengahasilkan suatu runtime errors seperti gagal membuka file, suatu program melakukan akses diatas range array. Ketika runtime errors tersebut terjadi, maka aplikasi akan membuat suatu exception.
Aturan Penanganan Error
Contoh program:
1. Membuaat program tanpaexception.java
Source kode tanpaexception
class tanpaexception {
public static void main(String[] args){
int nilai=Integer.parseInt(args[0]);
//statement diatas membutuhkan exception-handling
System.out.println("Nilai yang dimasukan : " +nilai);
}
}
- Simpan dengan nama tanpaexception.java
Tekan Ctrl+1 untuk mengkompile
Hasil setelah di compile:
- Klik start>run lalu ketik cmd untuk membuka command prompt
- Gunakan perintah cd (change directory) untuk menuju directory tempat file tanpaexception.class berada
- Ketikan java tanpaexception xxx untuk menjalankan program java.
2. Membuat program cobaexception.java
Source code cobaexception.java
class cobaexception{
public static void main(String[]args){
int nilai=0;
try{
nilai=Integer.parseInt(args[0]);
//dalam blok exception-handling
}catch(Exception e){
System.out.println("Harus Integer");
}finally{
System.out.println("Nilai Anda: "+nilai);
}
System.out.println("Selesai..");
}
}
- Simpan dengan nama cobaexception.java
Tekan Ctrl+1 untuk mengkompile
Hasil setelah di compile:
- Klik start>run lalu ketik cmd untuk membuka command prompt
- Gunakan perintah cd (change directory) untuk menuju directory tempat file cobaexception.class berada
- Ketikan java cobaexception xxx untuk menjalankan program java.
3. Membuat program pembagian.java
Source code pembagian.java
class pembagian{
public static void main(String[]args){
int a=0;
int b=0;
int c=0;
try{
a=Integer.parseInt(args[0]);
b=Integer.parseInt(args[1]);
System.out.println("Nilai a: "+a);
System.out.println("Nilai b: "+b);
c=a/b;
}catch(NumberFormatException nfe){
System.out.println("Bukan angka. Inisialisasi dengan Nilai 0");
}catch(ArithmeticException ae){
System.out.println("Pembagi tidak boleh 0");
b=1;
//karena terjadi exception maka harus
//dilakukan pembagian lagi
c=a/b;
System.out.println("Inisialisasi Nilai b dengan Nilai l");
}finally{
System.out.println("Nilai a: "+a);
System.out.println("Nilai b: "+b);
System.out.println("Hasil : "+c);
}
System.out.println("Selesai..");
}
}
Method Overriding dan Exception
Overriding adalah suatu kemampuan dalam bahasa berorientasi objek untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh kelas super ketika kelas super tersebut diturunkan.
Ada dua alasan mengapa melakukan overriding :
1. Mendefensikan kembali method kelas induk secara total.
2. Menambah behavior tertentu pada method kelas induk.
Sedangkan Exception merupakan suatu objek error khusus yang dibuat ketika terjadi kesalahan pada suatu program. setelah suatu objek exception dibuat oleh Java, objek tersebut dikirimkan ke program, proses ini disebutThrowing an exception.
Setelah sebuah metode melemparkan exception, sistem runtime akan berusaha mencari sesuatu untuk menangani exception tersebut. Maksud dari "sesuatu" yang menangani exception adalah daftar metode yang sudah diurutkan yang sudah dipanggil agar sampai ke motode dimana error terjadi. Daftar metode tersebut biasanya disebut call stack (tumpukan pemanggilan).
Kategori error dalam program :
1. Syntax error
Error yang terjadi apabila java compiler menemukan kesalahan pada syntax atau aturan-aturan lainnya pada program.
2. Runtime error
Error yang terjadi karena factor eksternal, seperti adanya pembagian dengan nol, input yang tidak sesuai dengan tipe yang diminta dan sebagainya. Kondisi ini dikenal sebagai exception.
3. Logic error
Error yang terjadi karena kesalahan logika pemrograman. Misalnya hasil pembagian dua buah bilangan diberi tipe data int. hal ini menyebabkan hasil tidak valid karena ada bagian koma decimal yang akan hilang.
.........