Exception Handling pada Java

Exception Handling pada Java 

Jarang sekali sebuah program dibuat dapat berjalan dengan sukses pada saat pertama sekali dijalankan. Kesalahan sering terjadi pada saat perancangan atau pemrograman Kesalahan tersebut dikatagorikan :
-        syntax errors – mengakibatkan kesalahan kompilasi.
-        semantic errors – program menghasilkan keluaran yang tidak sesuai dengan harapan.
-        runtime errors – kebanyakan mengakibatkan terminasi program secara tidak normal atau bahkan sistem crash. Contoh :
-        Pembagian bilangan dengan nol.
-        Akses elemen yang berada di luar indeks array
-        Menyimpan elemen data yang tidak kompatibel
-        Menggunakan nilai negatif untuk ukuran array
-        Mengubah data string menjadi data integer (misal., mengubah “abc” ke nilai integer).
Setiap program dalam berada dapat suatu kondisi yang tidak normal – Error Conditions.Program yang ‘baik’ harus dapat menangani kondisi ini. Java menyediakan suatu mekanisme untuk menangani kondisi ini -  exceptionsException merupakan suatu keadaan yang disebabkan oleh runtime error dalam program. Yang memungkinkan kesalahan ditangani tanpa harus ‘mengotori’ program (dengan rutin yang menangani kesalahan). Dan memungkinkan pemisahan penanganan kesalahan dengan program utama  (main business logic).
Ketika JVM menjumpai error, Java akan membuat objek exception dan melemparkannya sebagai tanda bahwa error telah terjadi.Jika objek exception tidak ditangkap dan ditangani secara tepat, interpreter akan menampilkan error dan mengakhiri program. Apabila ingin program menjalankan program yang tersisa, maka objek exception yang dilempar tadi harus ditangkap dan diambil tindakan yang sesuai.
Exception adalah Event yang menyela alur proses normal suatu program. Event ini biasanya berupa beberapa error. Event ini akan menyebabkan program berhenti tidak normal. Sehingga Exception Handling adalah suatu mekanisme penanganan error atau masalah yang mungkin terjadi dalam sebuah program. Misalnya, sebuah program memiliki operasi pembagian dimana suatu ketika user menginputkan bilangan pembagi atau denumerator 0, maka program tersebut harus memiliki suatu exception handling pada kasus tersebut. Selain contoh diatas exception handling disini juga berguna saat program kita membutuhkan akses ke CD ROM, USB, Audio&Video File, Internet dll, sehingga apabila alat alat yang kita butuhkan dalam program kita tersebut tiba tiba terputus aksesnya maka program kita tidak secara tiba tiba mati dan agar program kita bisa terus berjalan.
Apabila program tidak menggunakan exception handling, maka dalam menjalankan perintah kemudian menemui error, program akan langsung berhenti.Tetapi dengan exception handling ini program akan memberikan suatu pesan kesalahan, exception akan melemparkan error tersebut, catch akan menerima dan memproses error tersebut dan program menjalankan perintah selanjutnya.  Yang pada intinya akan memberikan pemberitahuan kepada user untuk mengulangi inputannya kembali, atau membatalkan perintahnya kepada program.
Ada beberapa contoh dari exception :
-        ArrayIndexOutOfBounds Exception
            terjadi pada saat pengaksesan elemen array yang tidak ada
-        NumberFormat Exception
Untuk menangani exception dalam Java, kita menggunakan blok try-catch-finally
Yang dapat kita lakukan adalah, meletakkan statement di dalam program, yang mungkin dapat menghasilkan exception, di dalam blok try-catch-finally.
Contoh :
class NoErrorHandling{
            public static void main(String[] args){
                        int a,b;
                        a = 7;
                        b = 0;
                        System.out.println(“Result is “ + a/b);
                          System.out.println(“Program reached this line”);  }}
Gambar :
Jika dengan Exception handling, maka contoh programnya :
          Blok try-catch

try {
    instruksi yang berpotensi menghasilkan exception
            }
catch(tipe_exception e) {
    instruksi untuk menangani exception
            }
      Apabila blok try mungkin menimbulkan lebih dari satu exception, maka menggunakan multiple catch :
try {
 // instruksi
}
catch( Exception-Type1 e)
{
// isntruksi untuk menangani exception 1
}
..
..
catch( Exception-TypeN e)
{
// isntruksi untuk menangani exception 1
}
Alur :

Contoh program : 
http://kangmasgendhil.blogspot.com/2012/12/exception-handling-pada-java.html

Tidak ada komentar:

Posting Komentar

foto adipura 2013