Exception Handling pada Java

|
Share


Exception handling adalah suatu mekanisme penanganan eror yang mungkin terjadi dalam suatu program. Misalnya sebuah program yang memiliki operasi pembagian, dimana suatu ketika user menginputkan bilangan pembagi atau denumerator 0, maka program tersebut harus memiliki suatu exception handling untuk 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.

Program yang tidak menggunakan exception handling:
- Menjalankan perintah
- Jika dalam menjalankan perintah menemui error
- Program berhenti
Program yang menggunakan exception handling :
- Menjalankan perintah
- Jika dalam menjalankan perintah menemui error
- Exception akan melemparkan error tersebut
- Catch akan menerima dan memproses error tersebut
- Program menjalankan perintah selanjutnya

Sehingga dengan menggunakan Exception Handling kita dapat memprevent terjadinya runtime error yang menyebabkan program kita berhenti ditengah tengah jalan.
Sebagai contoh program exception handling dengan java adalah berikut ini :

import java.util.Scanner;
import java.util.InputMismatchException;

public class Main {

    public static int divide(int numerator, int denumerator) throws ArithmeticException {
        return numerator / denumerator;
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        boolean lanjut = true;

        do {
            try {
                System.out.println("Masukan Numerator");
                int numerator = in.nextInt();
                System.out.println("Masukan Denumerator");
                int denumerator = in.nextInt();
                System.out.println("Hasil Pembagiannya Adalah : " + divide(numerator, denumerator));
                lanjut = false;
            } catch (InputMismatchException inputMismatchException) {
                System.err.println("Exception : " + inputMismatchException);
                in.nextLine();
                System.out.println("Masukanlah Integer!!!");
                System.out.println("Cobalah Lagi!!");
            } catch (ArithmeticException arithmeticException) {
                System.err.println("Exception : " + arithmeticException);
                System.out.println("Mencoba Membagi Bilangan Dengan 0 ");
                System.out.println("Cobalah Lagi!!");
            }
        } while (lanjut);
    }
}


Selain itu java juga mengenal adanya keyword “ finally ”, yaitu keyword yang sering digunakan untuk melengkapi sistem dari exception handling , state yang berada dalam scope finally pasti akan dieksekusi oleh compiler dengan tidak mempedulikan, kondisi try – catch diatasnya, berikut ini adalah diagram penggunaan keyword “finally” tersebut :

try {
//statements
//resource-acquisition statements
} // end try
catch ( AKindOfException exception1 ) {
//exception-handling statements
} // end catch
.
.
.
catch ( AnotherKindOfException exception2 ) {
//exception-handling statements
} // end catch
finally {
//statements
//resource-release statements
}
Untuk contoh program di java ada dibawah ini :

public class Main {

    public static void main(String[] args) {
        try {
            throwException();
        } catch (Exception exception) {
            System.err.println("Exception handled in main");
        }
        doesntThrowException();
    }

    public static void throwException() throws Exception {
        try {
            System.out.println("Method throwException Called");
            throw new Exception();
        } catch (Exception exception) {
            System.err.println("Exception handled in method throwException");
            throw exception;
        } finally {
            System.err.println("Finally executed in throwException");
        }
    }

    public static void doesntThrowException() {
        try {
            System.out.println("Method doesntthrowException Called");
        } catch (Exception exception) {
            System.err.println(exception);
        } finally {
            System.err.println("Finally executed in doesntthrowException");
        }
        System.out.println("End of method doesNotThrowException");
    }
}

6 komentar:

agung mengatakan...

gwe gak ngerti JAVA

jadi lumayan lah bwat nambah" ilmu

Yohanda Mandala mengatakan...

@agung yoi,,sama sama coy,,,,

kapten teknologi mengatakan...

mantap sob. berbagi ilmu java...
tukar link ya sob ?? kalo berkenan tinggal komen di Cbox saya. tq

CHELSEA BLOGGER mengatakan...

Trik jago mengatakan: Hebat dan good bro. mari berbagi bro : http://trik-jago.blogspot.com/

Yohanda Mandala mengatakan...

@All ok7x,,,,,thanks buat semua yang sudah berkunjunga...

ultraman mengatakan...

om minta tolong donk, program java tentang exception yg d gabung oleh array dan inherintace

Poskan Komentar

 

©2009 Yohanda's Web Blog