pemrograman lanjut - hermantolle.com filesintak dari konstruksi try-catch-finally notasi blok...

Post on 05-Jun-2019

228 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Pemrograman Lanjut

PTIIK - 2013

Exception Handling

Objectives

Memahami konsep dan MendefinisikanException Handling

Menangani exception menggunakan blok try-catch-finally

Keyword throw dan throws Kategori Exceptions

2

Exception Bugs dan error dalam sebuah program sangat

sering muncul meskipun program tersebutdibuat oleh programmer berkemampuantinggi.

Untuk menghindari pemborosan waktu padaproses error-checking, Java menyediakanmekanisme penanganan exception

Exception adalah singkatan dari Exceptional Events. Kesalahan (errors) yang terjadi saatruntime, menyebabkan gangguan pada alureksekusi program

3

Exception Handling

Exception Handling adalah teknik yang dipakaidalam Java dalam menangani kondisi yang tidak biasa dalam menjalankan operasinormal dalam program

exception ArrayIndexOutOfBounds, yang terjadi jika kita mencoba mengakses elemenarray yang tidak ada

exception NumberFormatException, yang terjadi ketika kita mencoba melalui parameter bukan angka dalam method Integer.parseInt

4

Menangani Exception

Untuk menangani exception dalam Java, kitagunakan blok try-catch-finally.

Apa yang kita lakukan dalam program kitaadalah kita menempatkan pernyataan yang mungkin menghasilkan exception dalam blok ini

5

Bentuk Umum

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

Kode dalam blok finally selalu dieksekusi

6

Sintak dari Konstruksi try-catch-finally

Notasi blok bersifat perintah 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 ATAU satu blok finally, atau keduanya. Setiap blok catch mendefinisikan sebuah penanganan

exception. Header dari blok catch harus membawasatu argumen, dimana exception pada blok tersebutakan ditangani.

7

Alur Kejadian try-catch-finally

8

Contoh

Tulis kode berikut :

Untuk mengatasinya tambahkan seperti kode berikut:

9

Latihan

Diberikan kode program berikut:

Ubah program TestExceptions untuk menanganiexception, keluaran program setelah ditangkapexception-nya akan seperti ini

10

Error dan Exception Classes

Seluruh exceptions adalah subclasses, baik secara langsung maupun tidaklangsung, dari sebuah root class Throwable.

class Throwable terdapat dua kategoriumum : Error class dan Exception class

Exception class menunjukkan kondisiyang dapat diterima oleh user program

Error class digunakan oleh Java run-time untuk menangani error yang muncul padasaat dijalankan

11

Error dan Exception Classes

Exception Class umumnya disebabkan olehbeberapa kesalahan pada kode program. Contoh dari exceptions adalah pembagian oleh 0 dan

error di luar jangkauan array Error Class umumnya di luar control user

karena kemunculannya disebabkan oleh run-time environment. contohnya adalah out of memory dan harddisk crash

12

Contoh

Aksi tersebut pertama-tama akan menampilkandeskripsi exception yang terjadi

Kemudian akan ditampilkan stack trace yang mengindentifikasi method dimana exception terjadi

Pada bagian akhir, aksi default tersebut akanmenghentikan program secara paksa

13

Try - Catch

Seperti yang telah dijelaskan sebelumnya, keyword try, catch dan finally digunakan dalammenangani bermacam tipe exception.

Keyword tersebut digunakan bersama, namunfinally bersifat opsional.

14

Single Try-Catch

Gunakan contoh kode tersebut pada program DivByZero yang telah dibuat sebelumnya

15

Multiple Try-Catch

Berikut adalah contoh kode yang menangani lebih dari satuexception :

Baris ke-4 akan menghasilkan kesalahan berupaArrayIndexOutOfBoundsException bilamana seorang user alpadalam memasukkan argument

Baris ke-5 akan menghasilkan kesalahan ArithmethicException jikapengguna memasukkan nilai 0 sebagai sebuah argument

16

Pelajari apakah yang akan terjadi terhadapprogram bila argumen – argumen berikutdimasukkan oleh user : Tidak ada argument 1 0

17

Nested Try-Catch

Penggunaan try bersarang diperbolehkan dalam pemrograman Java

18

Pelajari apa yang akan terjadi pada program jikaargument – argument berikut dimasukkan : Tidak ada argumen 15 15 3 15 0

19

Nested try-catch dengan method

Kode berikut menggunakan try bersarangtergabung dengan penggunaan method

20

Keyword finally

Berikut ini cara penggunaan keyword finally :

Blok finally mengandung kode penanganansetelah penggunaan try dan catch.

Blok kode ini selalu tereksekusi walaupunsebuah exception terjadi atau tidak pada bloktry

21

Keyword finally

Terdapat 4 kemungkinan skenario yang berbedadalam blok try-catch-finally. Pemaksaan keluar program terjadi bila control

program dipaksa untuk melewati blok try menggunakan return, continue ataupun break.

Sebuah penyelesaian normal terjadi jika try-catch-finally tereksekusi secara normal tanpa terjadi error apapun.

Kode program memiliki spesifikasi tersendiri dalamblok catch terhadap exception yang terjadi.

kebalikan dari skenario ketiga

22

Keyword throw

Disamping menangkap exception, Java jugamengijinkan seorang user untuk melemparsebuah exception.

Sintax pelemparan exception cukup sederhana.

23

Contoh

24

Keyword Throws

Jika sebuah method dapat menyebabkansebuah exception namun tidak menangkapnya, maka digunakan keyword throws.

Aturan ini hanya berlaku pada checked exception

Berikut penulisan syntax menggunakan keyword throws :

25

Keyword Throws

Sebuah method perlu untuk menangkap ataupun mendaftarseluruh exceptions yang mungkin terjadi, namun hal itu dapatmenghilangkan tipe Error, RuntimeException, ataupunsubclass-nya

Contoh berikut ini menunjukkan bahwa method myMethodtidak menangani ClassNotFoundException

26

Kategori Exception Root class dari seluruh exception classes adalah Throwable class

27

Aturan Exception

Catch lebih dari satu harus berurutan darisubclass ke superclass

28

Checked dan Unchecked Exceptions

Checked exceptions adalah exception yang diperiksa oleh Java compiler.

Compiler memeriksa keseluruhan program apakah menangkap atau mendaftar exception yang terjadi dalam sintax throws.

Apabila checked exception tidak didaftarataupun ditangkap, maka compiler error akanditampilkan

29

Checked dan Unchecked Exceptions

Unchecked exceptions tidak berupa compile-time checking dalam penanganan exceptions.

Fondasi dasar dari unchecked exception classes adalah Error, RuntimeException dansubclass-nya

30

User Defined Exceptions

Meskipun beberapa exception classes terdapatpada package java.lang namun tidak mencukupiuntuk menampung seluruh kemungkinan tipeexception yang mungkin terjadi.

Dalam pembuatan tipe exception anda sendiri, anda hanya perlu untuk membuat sebuahextended class terhadap RuntimeExceptionclass, maupun Exception class lain

31

Contoh

32

afif.supianto@ub.ac.id081 331 834 734 / 088 160 127 40

top related