Penanganan Eksepsi Disusun Oleh: Reza Budiawan Untuk:

Slides:



Advertisements
Presentasi serupa
EXCEPTION HANDLING.
Advertisements

Java Fundamentals: 5. Java Advanced
Try, Catch, Finally Throws
Abstract Class & Interface
PEMROGRAMAN KOMPUTER 2 4 SKS 2 TEORI DAN 2 PRAKTEK NANDANG HERMANTO. S.Kom.
09 Exceptions & File I/O OOP Java. Materi hari ini ExceptionsExceptions – Apa & kapan exception terjadi – Menangani exception – Menghindar (tidak menangani.
Dasar Exception Handling
Flow Control & Exception Handling
Pemrograman Berorientasi Objek
Overriding, Overloading, Polymorphism
Overriding, Overloading, Polymorphism
POLIMORFISME 2 Imam Fahrur Rozi 01.
Pemrograman Berbasis Obyek Oleh Tita Karlita
Pemrograman Berorientasi Objek
Dasar exception handling
Pemrograman Berorientasi Objek 1
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Struktur Kode Aplikasi Java (1)
EXCEPTION TRY-CATCH-FINALLY
07 Advanced Class Features
INHERITANCE (Oleh : Nur Hayatin, S.ST)
Exceptional Pendahuluan Bugs dan error dalam sebuah program sangat sering muncul meskipun program tersebut dibuat oleh programmer berkemampuan tinggi.
Pertemuan 12 Pemrograman Berbasis Obyek Oleh Tita Karlita
Do you remember this?.  Strategy  Concrete Strategy  Context  Client Strategy Pattern consists of..
- PERTEMUAN 4- EXCEPTION
MATERI IV OOP (Object Oriented Programming) Chapter II.
Dasar exception handling
Try, Catch, Finally Throws
Pemrograman berbasis obyek
Algoritma & Pemrograman 1
Penanganan Eksepsi.
Exception Handling (Penanganan Error)
PEMROGRAMAN VISUAL II Agenda Perkuliahan :
Class & Object Disusun Oleh: Reza Budiawan Untuk:
Teori Pertemuan 9 “Exception”
Inner Class dan Eksepsi (Exception)
Pertemuan 2 SINTAKS BAHASA, TIPE DATA, DAN OPERATOR
Konsep Dasar Exception Handling
Array & Array List Disusun Oleh: Reza Budiawan Untuk:
Pewarisan Disusun Oleh: Reza Budiawan Untuk:
Penanganan Eksepsi Pertemuan Ke- 9.
Pengaksesan File Disusun Oleh: Reza Budiawan Untuk:
BAB XI EXCEPTION HANDLING.
Dosen : Bella Hardiyana, S. Kom
Exception dan Assertion
Array Of Object Disusun Oleh: Reza Budiawan Untuk:
OPERASI FILE & EXCEPTION HANDLING
Tipe Data, Variabel, dan Operator
Exception Handling (Penanganan Error)
Pemrograman Berorientasi Objek
Exception Handling, Package, Abstract Class & Interface
Tipe Data, Variabel, dan Operator
ASWAR R. Universitas Negeri Makassar
Pendahuluan PBO.
Pemrograman Berorientasi Objek 1
Exception Sussi.
Flow Control & Exception Handling
Exception Sussi.
Exception Sussi.
Pemrograman Berorientasi Object
Pemrograman Berorientasi Obyek
Dasar exception handling
Pemrograman Berorientasi Object
Pertemuan 9 PENANGAN EKSEPSI
Penanganan Exception di Java
Tipe Data, Variabel, dan Operator
Pengenalan Pemrograman 1
Pemrograman berorientasi objek
DPH1C4 Pemrograman berorientasi Obyek
FONDASI PEMROGRAMAN & STRUKTUR DATA #3 - 4
Transcript presentasi:

Penanganan Eksepsi Disusun Oleh: Reza Budiawan Untuk: MI1274 — Algoritma & Pemrograman Lanjut Genap 2015-2016 Penanganan Eksepsi Disusun Oleh: Reza Budiawan Untuk: Tim Dosen Algoritma & Pemrograman Lanjut Hanya dipergunakan untuk kepentingan pengajaran di lingkungan Fakultas Ilmu Terapan, Universitas Telkom

Eksepsi Eksepsi/Exception merupakan kondisi abnormal yang muncul saat kode dijalankan. Exception merupakan runtime error. Diperlukan penanganan agar program tidak crush

Exception-Handling Fundamentals Java exception merupakan objek yang menggambarkan kondisi exceptional (terjadinya error) pada sebuah kode. Objek yang merepresentasikan exception dibuat dan di-thrown ke method yang menyebabkan error. Method tersebut akan menangani exception tersebut atau melemparkannya kembali. Exceptions di-generate oleh Java run-time system, atau dapat dibentuk dengan kode tertentu

Exception Setiap objek exception memiliki tipe exception (exception-type) masing-masing Exception type merupakan subclass Throwable. Exception memiliki subclass RuntimeException  error saat runtime. Contoh: Pembagian dengan nol Invalid array index Stack Overflow

Struktur Hirarki Exception

Contoh Exception Kode bisa di-compile, tapi error saat dijalankan. Karena pembagian 0 tidak mungkin dilakukan. Dapat ditangani dengan kondisional “if”

Penanganan dengan kondisional class Exc0 { public static void main(String args[]) { int d = 0; if(d!=0){ int a = 42 / d; } else{ //penanganan error Efisien??

Berbasis Konsep “if-then” Penanganan Eksepsi Berbasis Konsep “if-then” Berbasis Konsep Objek Programmer tahu pasti kode yang menjadi penyebab masalah Berbasiskan kondisi/fungsi Jika kondisi error >1 membutuhkan penanganan khusus di method tempat terjadinya error Programmer tahu blok kode yang menyebabkan error Berbasiskan objek Penanganan kesalahan bisa dilakukan di method lain setelah melakukan pelemparan objek

Eksepsi subclass RuntimeException Ditangkap Objeknya

Exception Handling Penanganan Eksepsi Menangkap Objek Eksepsi dari Java Runtime try-catch-Finally Melempar objek Eksepsi throw-throws

Keyword Penanganan Eksepsi Try Catch Finally Throw Throws

TRY-CATCH-FINALLY Try: digunakan untuk meletakkan code yang kemungkinan akan memunculkan Exception. Catch: digunakan sebagai Exception handler menangkap Exception yang dilempar di dalam blok try. menspesifikasikan tipe Exception yang akan ditangani. Minimal 1 blok try mempunyai 1 blok catch. Satu blok try dapat mempunyai lebih dari satu blok catch, jika terdapat lebih dari 1 Exception yang akan dilempar di dalam blok try.

TRY-CATCH-FINALLY (Cont’d) Sifat: setelah mengalami error, maka eksekusi program langsung menuju blok catch. Keyword: finally Blok finally merupakan optional, boleh ada atau tidak. Satu blok try catch hanya 1 blok finally. Blok finally diakses pada urutan terakir dalam blok try-catch-finally.

Try-catch Bentuk Umum Try-Catch-Finally

Contoh Tidak dieksekusi karena???

Multiple CATCH 2 blocks of catch code

Multiple CATCH Note: Pastikan exception subclasses dituliskan sebelum superclasses-nya. Penulisan terbalik mengakibatkan unreachable code. Unreachable code mengakibatkan error! 

Contoh Error Multiple Catch

Nested Try Statement Penggunaan try-catch dapat dituliskan bersarang Terdapat blok try-catch dalam try-catch Jika inner try tidak memiliki penanganan catch yang sesuai, maka penanganan akan dicari ke outer try-catch try{ }catch(............ e){ } inner outer

Throw-Throws Throw: digunakan untuk melempar Exception secara eksplisit. Throws: mendaftar Exception-Exception yang akan dilempar statement throw di dalam suatu method, jika method tersebut tidak menyediakan Exception handling.

Bentuk Umum throw throw ThrowableInstance; Note: Terdapat 2 cara untuk memperoleh Throwable object (ThrowableInstance): Menggunakan parameter dari catch clause Membuat instansiasi objek dengan menggunakan keyword “new”. Eksekusi akan berhenti setelah throw statement;

Alur Eksekusi Throw Membaca statement throw Mencari block try-catch terdekat, untuk mencocokkan penanganan catch-nya. Jika cocok, control program melalui blok penanganan catch Jika tidak, akan mencari kembali ke block try-catch terdekat lainnya…. dst Jika tidak ada yang cocok, program berhenti.

Alur Eksekusi Throw Bagaimana Alurnya? Hasilnya: Caught inside demoproc. Recaught: java.lang.NullPointerException: demo

Bentuk Umum Throws Digunakan jika method berpotensi menimbulkan eksepsi, tapi tidak menangani eksepsi tersebut. Throws merupakan daftar clause, menyatakan tipe eksepsi apa yang akan dilempar. This is necessary for all exceptions, except those of typeError or RuntimeException, or any of their subclasses.

Contoh Salah Penggunaan Throw Note: IllegalAccessException bukan merupakan tipe Error. Contoh yang bukan tipe error lainnya adalah SQLException

Contoh Penggunaan Throws Hal apa yang ditambah?

List of Checked Exception: Tidak perlu didaftarkan dalam throws

Contoh List of Unchecked Exception: Perlu didaftarkan dalam keyword throws

Class Eksepsi Sendiri Mendefenisikan eksepsi sendiri Buat class eksepsi yang merupakan subclass dari Exception. Override method yang diperlukan

Carilah keterangan tentang JDK7 EXCEPTION FEATURE Try-with-resource Multi-catch Final rethrow/more precise rethrow Carilah keterangan tentang fitur di atas

-end of slide-