pbo 8 ervan

25
Exception Handling

Upload: aris

Post on 04-Aug-2015

48 views

Category:

Education


3 download

TRANSCRIPT

Exception Handling

Error Case

Pembagian bilangan dengan 0

Pengisian elemen array diluar ukuran array

Operand yg akan dimanipulasi out of prescribed range

Mengakses obyek yang belum diinisialisasi

Kegagalan koneksi database

File yang akan dibuka tidak exist

Apa yg terjadi jika terjadi kesalahan?

Secara otomatis akan dilempar sebuah object yang disebut dgn exception.

„Exception : Event yang terjadi ketika ada kesalahan/error saat eksekusi program.

Example 1.

Example 1. (result)

Exception Handling

Exception handling : Suatu mekanisme penanganan exception.

Exception dapat diproses lebih lanjut oleh fungsi-fungsi yang siap menangani kesalahan.

Kenapa Exception Handling ?

• Menghasilkan program yang :

– handal : seluruh fungsionalitasnya dapat berjalan dengan baik

– fault tolerance : fleksibel terhadap kesalahan yang terjadi saat eksekusi

Hirarki Exception

Method pada Class Exception

try......catch......

„Blok try : digunakan untuk menempatkan kode-kode program java yang mungkin menghasilkan exception.

„Blok catch : digunakan untuk menempatkan kode-kode program java yang akan menangani sebuah exception tertentu.

Rumus Umumtry {

statement yang menyebabkan exception

} catch (namaKelasException exp1) {statement penanganan exception

}Blok catch dapat ditambahkan sebanyak mungkin (lebih dari satu) disesuaikan dengan kemungkinan jenis exception yang dapat terjadi.

Penanganan Exception

Multiple block catch

Blok catch untuk menangkap exception boleh lebih dari satu dengan class exception yang berbeda. Contoh sintak :

try {

Kode_program1;

catch (classException exp1){

}

catch (classException exp2){

}

….

catch (classException expN){

}

}

Alur Program

Rumus Umum dengan Finally

try {statement yang menyebabkan exception

} catch (namaKelasException exp1) {statement penanganan exception

} finally {statement finally

}

Keyword : throw & throws

• throwKata throw digunakan untuk secara eksplisit melemparkan exception dalam program.

• throwsKata throws dituliskan di header method (deklarasi method) apabila implementasi dari method berpotensi menghasilkan exception.

Class SmallInt

class SmallInt{int value;SmallInt(int val){

value = val;}void plus(SmallInt X) throws SmallIntExcept{

value = value + X.value;if (value > 10)

throw new SmallIntExcept (“TOO BIG”);if (value < 0)

throw new SmallIntExcept (“TOO SMALL”);}public String toString() {

return Integer.toString(value);}void ReadVal () {

Scanner s = new Scanner(Sytem.in);value = s.nextInt();

}}

Main Program

class SmallIntExample {

public static void main (String args[]) {

System.out.println("start of smallint ...");

SmallInt S1= new SmallInt(1);

SmallInt S = new SmallInt();

S.ReadVal ();

try {

S1.plus (S);

System.out.println("hasil S1= S1+S ="+S1);

}catch (SmallIntExcept e) {

e.response ();

}

}

}

Alur Eksekusi Exception

Membuat Kelas Exception

• Programmer dapat membuat sendiri kelas-kelas exception

• Caranya : menurunkan dari kelas exception yang sudah ada (gunakan extends).

• Usahakan diturunkan dari kelas exception yang paling berdekatan.

• Agar seragam, nama kelas exception tetap berakhiran exception.

Membuat Class Exceptions

Sebaiknya turunkan dari class Exception karena sudah memiliki method untuk mencatat pesan exception

Contoh 2 : dengan throws

Contoh: SmallIntExcept

class SmallIntExcept extends Exception

{

private static int num_except;

SmallIntExcept(String msg){

super(msg);

num_except++;

}

static int numException (){

return num_except;

}

void response (){

System.out.println(getMessage());

}

};