Penanganan Error
Kategori Exception
Kategori-kateogori
exception, adapan kategori-kategori exception adalah, sebagai berikut:
Checked
exceptions merupakan exception yang disebabkan oleh kesalahan pemakai
program atau hal lain yang dapat diprediksi oleh pemrograman.
Runtime
exception adalah exception yang muncul dimana kemunculannya tidak bisa
dihindari oleh pemrograman. Runtime exception biasanya disebabkan oleh kesalhan
program atau pada desain program.
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 disebut Throwing 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.
0 komentar: