Algoritma & Pemrograman 1

10
Algoritma & Pemrograman 1 Exception Handling

description

Algoritma & Pemrograman 1. Exception Handling. Exception?. Teknik yang dipakai dalam Java dalam menangani kondisi yang tidak biasa dalam menjalankan operasi normal dalam program Peristiwa yang menjalankan alur proses normal pada program - PowerPoint PPT Presentation

Transcript of Algoritma & Pemrograman 1

Page 1: Algoritma & Pemrograman 1

Algoritma & Pemrograman 1

Exception Handling

Page 2: Algoritma & Pemrograman 1

Exception? Teknik yang dipakai dalam Java dalam menangani kondisi yang tidak biasa dalam

menjalankan operasi normal dalam program

Peristiwa yang menjalankan alur proses normal pada program

Peristiwa ini biasanya terjadi berupa error dari beberapa bentukdikarenakan program kita berakhir tidak normal

c/ int []arr = new int[100]; //lebih disarankan daripada, int []arr; arr = new int[100];Array d/ indeks 0 s/d n-1disini tidak ada elemen array arr[n]akan menyebabkan array index out-of-bounds exception: exception ArrayIndexOutOfBounds terjadi jika mencoba mengakses array

yang tidak ada NumberFormatExceptionterjadi jika kita mencoba melalui parameter bukan angka

dalam method Integer.parseInt.

Page 3: Algoritma & Pemrograman 1

Menangani Exception Sintaks try-catch-finally:

try{//pernyataan exception

}catch( <exceptionType…n> <varName…n> ){

//aksi yang dapat dijalankan, jika exception}finally{

//tambahkan kode terakhir di sini}

Exception dilemparkan selama eksekusi dari blok try dapat ditangkap dan ditangani dalam blok catch

Kode dalam blok finally akan selalu di-eksekusi

Page 4: Algoritma & Pemrograman 1

Alur kejadian blok try-catch-finally Setiap blok try, terdapat satu atau

lebih blok catch, tetapi hanya satu blok finally.

Blok catch dan blok finally harus selalu muncul dalam konjungsi dengan blok try, dan diatas urutan

Blok try harus diikuti oleh paling sedikit satu blok catch or satu blok finally, or keduanya.

Setiap blok catch mendefinisikan sebuah penanganan exception. Header dari blok catch harus membawa satu argumen, dimana exception pada blok tersebut akan ditangani.

Exception harus menjadi class pelempar atau satu dari subclassesnya

Page 5: Algoritma & Pemrograman 1

c/ Next AplikasiexceptionCommondLine.java,

exceptioncontoh.java Run

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 at ExceptionExample.main(ExceptionExample.java:5)

Antisipasi: di method maintry{

System.out.println( args[1] );}catch( ArrayIndexOutOfBoundsException exp ){

System.out.println("Exception caught!");}

Page 6: Algoritma & Pemrograman 1

Exception Multiple Catch Penanganan exception lebih dari satu Next AplikasiExceptionMultipleCatch.java

a) Tidak ada argument b) 1 c) 0

Page 7: Algoritma & Pemrograman 1

Try bersarang Next Aplikasi

ExceptionNestedTry.java a) Tidak ada argumen b) 15 c) 15 3 d) 15 0

ExceptionNestedTry1.java a) Tidak ada argumen b) 15 c) 15 3 d) 15 0

Page 8: Algoritma & Pemrograman 1

Error & Exception Classes Seluruh exceptions adalah subclasses, dari sebuah root class

Throwable Type:

Error class Exception class.

Exception class kondisi yang dapat diterima oleh user programterjadi kesalahan pada

kode program c/ pembagian oleh 0 dan error di luar jangkauan array.

Error class digunakan oleh JRE untuk menangani error yang muncul pada saat

dijalankan Hal ini di luar control user karena kemunculannya disebabkan oleh JRE c/ out of memory & harddisk crash.

Aplikasi ExceptionDivByZero.java

Page 9: Algoritma & Pemrograman 1

Keyword Finally Sintaks:

try { <kode monitor exception> } catch (<ExceptionType1> <ObjName>) {

<penanganan jika ExceptionType1 terjadi> } ...

} finally { <kode yang akan dieksekusi saat blok try berakhir>

} Next Aplikasi

ExceptionFinally.java

Page 10: Algoritma & Pemrograman 1

Melempar Exception Keyword:

throw

throw <exception object>; ExceptionThow.java throws

Jika sebuah method dapat menyebabkan sebuah exception namun tidak menangkapnya ExceptionThows.java

<type> <methodName> (<parameterList>) throws <exceptionList> {

<methodBody>

}