Minggu, 16 Januari 2011

Laporan Java IX

Ini adalah laporan java ke 9 tentang exception
Exception adalah objek error khusus yang dibuat ketika terjadi kesalahan pada suatu program. Pada excption ada 3 excepsi yaitu: try, catch dan finally.

1. Try adalah kode-kode program yang mungkin dapat menimbulkan exception
2. Catch (JenisException1 e) adalah kode-kode program yang harus dilakukan apabila terjadi exception JenisException1.
3. Catch (JenisException2 e) adalah kode-kode program yang harus dilakukan apabila terjadi exception JenisException2. Boleh terdapat lebih dari satu blok catch untuk menangani exception
4. Finally, finally bersifat opsional(boleh tidak menggunaan blok finally) yaitu sbuah kode yang tetap dilakukan baik terjadi exception maupun tidak terjadi exception.

Contoh program
class Eksepsi {
public static void main(String[] args) {
int a ;
System.out.println("Pembagian nol");
a = 30 / 0;
System.out.println("Hasilnya : "+ a);
System.out.println("Ini hanya contoh");// ini tidak akan dieksekusi
}
}

Terlihat dari contoh di atas bahwa baris perintah :
System.out.println("Ini hanya contoh");
tidak dieksekusi, ini karena telah terjadi eksepsi karena pembagian suatu bilangan dengan nol. Agar baris perintah tersebut dieksekusi maka kita harus menggunakan blok try dan catch.

class CobaEksepsi {
public static void main(String[] args) {
int a ;
System.out.println("Pembagian nol");
try {
a = 30 / 0;
System.out.println("Hasilnya : " + a);
} catch (ArithmeticException e) {
System.out.println("Ini hanya contoh");
}
}

Dengan menggunakan blok try catch maka baris perintah

System.out.println("Ini hanya contoh");

Dapat kita eksekusi. Untuk penjelasan program di atas akan kita uraikan satu-persatu.
Blok try untuk menempatkan statement atau pernyataan dari baris perintah yang sekiranya dapat menghasilkan eksepsi. Blok catch adalah untuk menangkap eksepsi tersebut, karena pembagian dengan nol merupakan eksepsi berupa aritmatika, maka parameter di dalam catch kita isikan sesuai tipe eksepsi tersebut.

Selanjutnya kita akan menggunakan blok catch lebih dari satu, ini digunakan agar eksepsi yang tidak ditangkap di blok catch sebelumnya dapat ditangkap di blok catch berikutnya.

class Eksepsi2 {
public static void main(String[] args) {
int a ;
System.out.println("Pembagian nol");
try {
a = 30 / 0;
System.out.println("Hasilnya : " + a);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Blok catch pertama : " + e);
} catch (ArithmeticException ea) {
System.out.println("Blok catch kedua : " + ea);
}
}
}

class Eksepsi3 {
public static void main(String[] args) {
int a ;
System.out.println("Pembagian nol");
try {
a = 30 / 0;
System.out.println("Hasilnya : " + a);
} catch (ArithmeticException e) {
System.err.println("Eksepsi : " + e);
} finally {
System.err.println("Blok finally");
}
}
}

Statement atau pernyataan yang berada di dalam blok finally pasti akan dieksekusi, pada saat terjadi eksepsi maupun tidak terjadi eksepsi. Untuk membuktikannya anda dapat mengganti angka 0 dengan angka selain nol.

Sekian dan terimakasih...........

Wassalam..................

Tidak ada komentar:

Posting Komentar