Exception adalah penanda bahwa kondisi/kejadian yang tidak diinginkan telah terjadi pada program kita. Ada 2 jenis exception (+1 Error):

dokumen-dokumen yang mirip
Percobaan 6 Exception

PERCOBAAN 6 EXCEPTION

PRAKTIKUM 17 MENANGANI EXCEPTION

PRAKTIKUM 6 EXCEPTION

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception.

IF PEMROGRAMAN LANJUT EXCEPTION. Oleh : Andri Heryandi, M.T.

Pemrograman Berorientasi Object

Pemrograman Berorientasi Obyek. Exception Handling. Politeknik Elektronika Negeri Surabaya

Definisi Eksepsi (exception)

Exception Handling. Topik

Topik. Penanganan Eksepsi. Menangkap Eksepsi. Catch Secara bertingkat. Melontarkan Eksepsi. Melontarkan kembali Eksepsi.

Pemrograman Berbasis Objek. Exception Handling. Politeknik Elektronika Negeri Surabaya

Variabel tersebut seharusnya bisa dideklarasikan didalam try block dan block catch

Waktu Sisa : 0:43:4. Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum. Mengerjakan finally. Diluar block

1. Apa yang harus dilakukan oleh programmer untuk menangani user-defined exception? Menuliskan exception sebagai start method

IKG2I4 / Software Project I

EXCEPTION. 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return

Exception Handling. Prepared by Viska Mutiawani. 1

1.Tujuan. 2. Latar Belakang

Exception Handling. Oleh : Agus Priyanto, M.Kom

Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum

public class Test { int i = 6; int j = 3; System.out.println(i/j); } Output :

Tidak ada satupun dari pilihan di atas yang benar karena checked exception tidak bisa ditulis

Modul 4 Exception, I/O, dan Operasi File

BAB Tujuan. 2.2 Apa itu Exception? Pendahuluan Error dan Exception Classes

Penanganan Kesalahan

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional

PERTEMUAN 3 OBJEK DAN CLASS

PEMROGRAMAN JAVA : EXCEPTION

Tujuan Intruksional. Mampu menjelaskan tentang event handling Mampu menjelaskan tentang method Mampu menggunakan event handling Mampu membuat method

Exception Handling Lanjutan

Praktikum Exception Handling

EXCEPTION HANDLING. Bug : kesalahan yang merupakan kelemahan dari perancangan atau implementasi

03/04/2018. Pemrograman Berorientasi Object

PEMOGRAMAN JAVA. Yoannita. Tipe Data (ii) : Array Exception Handling

4/11/2013. Topik. Exceptions dan Assertions Pengenalan Pemrograman 2. Topik. Topik EXCEPTIONS. Class Error dan Exception

Exception. Oleh: Mike Yuliana PENS-ITS

PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING

MODUL 9 EXCEPTION HANDLING

PRAKTIKUM I EXCEPTION HANDLING

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

Pemograman Java. Yoannita, S.Kom. Argumen Command Line Exception Handling Package

Penjebakan Eksepsi. Nur hasanah, M.Cs

Pemrograman Lanjut Exception Handling PTIIK

Topik. Stream I/O Cara menggunakan Stream Hierarchy Java I/O Membaca File Menulis File Menghapus File Cara membaca isi Direktori dalam file

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Cara Membaca File Text di JAVA

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

Input Nilai tanpa Case String di Java

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

BAB 8 Argumen dari Command-line

Pemrograman Berorientasi. Exception Handling

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

Struktur Kontrol Pemrograman Java : PERCABANGAN

Percabangan & Perulangan

BAB 8 Argumen dari Command-line

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

Bahasa Pemrograman 2.

Praktikum 9 Exception Handling

BAB 2 INPUT DARI KEYBOARD

MODUL III ARRAYLIST TUGAS PENDAHULUAN

OPERASI FILE & EXCEPTION HANDLING. Herman Tolle

PRAKTIKUM 8 FILE INPUT OUTPUT

Modul Praktikum 4 Pemograman Berorientasi Objek

Modul Praktikum Pemrograman

Modul Praktikum 3 Pemograman Berorientasi Objek

Modul 3 Flow Control dan Input

MODUL 7 - EXCEPTION HANDLING

SUMBER BELAJAR PENUNJANG PLPG

BAB 5 Mendapatkan Input dari Keyboard

BAB 5 Mendapatkan Input dari Keyboard

BAB II VARIABEL DAN TIPE DATA

2 TIPE DATA DAN VARIABEL

PEMAHAMAN DASAR DASAR JAVA

Modul Praktikum Bahasa Pemrograman 1

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

BAB 4 ARRAY. number1 = 10; number2 = 20; number3 = 30;

Bahasa Pemrograman :: Dasar Pemrograman Java

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

Array Sebagai Parameter Method

Array. Pengantar. int a, b, c, d, e;

Obyektif : KONTROL ALUR PROGRAM

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

BAB VI ARRAY Mendeklarasikan Variabel Array int[ ] bilangan; int bilangan[ ]; Mendefinisikan Array Bilangan = new int[5]; Latihan 21. ArrSatu.

//PROGRAM 9-8. int[] A = new int[5]; // SALAH, karena tidak terdapat. class BanyakEksepsi { indeks ke-5. public static void test(int a, int b) { try {

BAB Argument Command-Line dan System Properties

Pertemuan 2 Struktur Kontrol Percabangan

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

Arrays. Misalkan kita ingin menyimpan 100 buah integer Buat 100 variabel bertipe integer. Tidak efisien!

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Jelaskan tentang konsep Cohesion & Coupling!

Belajar ArrayList di Java

Mukhlidi Muskhir Modul 2

Mata Kuliah : Pemrograman Berbasis Objek Pertemuan : 4

Algoritma dan Pemrograman

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

//PROGRAM " tidak dapat dibaca")); import java.io.file; Date tanggal = new Date(); import java.io.ioexception;

Transkripsi:

Alfan F. Wicaksono FASILKOM UI Exception Exception adalah penanda bahwa kondisi/kejadian yang tidak diinginkan telah terjadi pada program kita. Ada 2 jenis exception (+1 Error): Ingat, kategori ini tidak sempurna! 1. Checked Exception a. Exception yang di-check saat di-compile oleh compiler b. Exception jenis ini tidak dapat dihindari oleh programmer. Tetapi, programmer wajib aware terhadap exception jenis ini dengan cara: i. menuliskan kata kunci throws yang diletakkan pada method header (ini artinya exception tidak ditangani, dan program akan berhenti) ii. maupun menanganinya dengan blok -catch (program tidak akan berhenti) Contoh: ketika membuat program untuk membaca file, terjadi kondisi dimana nama file yang dimasukkan oleh user tidak ada di direktori -> bukan salah programmer, tapi programmer harus aware akan hal ini. c. Sebagian besar merupakan exception dalam hal input, output, atau dalam hal baca-tulis file. Contoh: IOException dan turunannya seperti FileNotFoundException, EOFException, dll. 2. Unchecked Exception a. Exception yang tidak akan di-check saat di-compile oleh compiler b. Exception ini seharusnya dapat dihindari oleh programmer. Jadi, kalau exception jenis ini terjadi, artinya programmer yang bersalah. Terserah Anda sebagai programmer mau menangani exception ini atau tidak. i. Contoh: ketika anda membuat array of integer dengan ukuran 3. Kemudian, anda mengakses indeks ke-5 dan mengakibatkan exception IndexArrayOutOfBoundsException dilemparkan -> kesalahan programmer. c. Yang masuk kategori ini adalah exception RuntimeException beserta turunannya seperti ArithmeticException, ClassCastException, IllegalArgumentException, IndexArrayOutOfBoundsException, dll. 3. Error (tidak bisa di-recover) a. Dalam hirarki kelas exception, Error tidak termasuk turunan kelas Exception. b. Error adalah kesalahan yang tidak bisa di-recover. c. Contoh: OutOfMemoryError

Gambar Hirarki dari Kelas Exception di Java. Tandai yang merupakan Checked Exception dan tandai yang merupakan Unchecked Exception!

Kode #1 public class Question1 public static void main(string[] args) int[]x = 0,1,2,3,4; /* line 10 */ catch (IndexOutOfBoundsException e) System.out.println("1"); /* line 16 */ /* line 18 */ catch (ArrayIndexOutOfBoundsException e) System.out.println("2"); /* line 23 */ System.out.println("3"); System.out.println("x[0]"+x[0]); Kode #2 public class Question2 public static void main(string[] args) String stri = "inner"; String stro = "outer"; throw new Exception(); catch (Exception eo) throw new Exception(); catch (Exception ei) System.out.println(stri); System.out.println(""); System.out.println(stro); System.out.println(stro); Soal terkait kode #1: 1. apakah kode #1 lulus kompilasi? mengapa? 2. bagaimana jika IndexOutOfBoundsException dan ArrayIndexOutOfBoundsException ditukar posisinya? apakah masih tetap tidak lulus kompilasi? 3. Jika pada line 10 disisipkan kode x[5] = 10;, dan line 18 hingga line 23 dihapus, apa output yang dihasilkan? 4. [lanjutan dari soal nomor 2] jika kemudian disisipkan kembali kode throw new RuntimeException("error..."); pada line 16, apakah output yang dihasilkan?

Soal terkait kode #2: Apakah output dari program tersebut? Apa output untuk program di bawah? public class Question3 public static void main (String[] args) Question3 q = new Question3(); q.doa(1); //1 q.doa(2); //2 q.doa(3); //3 public void doa(int a) dob(a); catch (IllegalArgumentException e) System.out.println("1"); catch (IllegalStateException e) System.out.println("2"); System.out.println("doA beres"); public void dob(int a) int[] x = new int[4]; if (a == 1) x[5] = 10; else if (a == 2) int p = 1 / 0; else throw new IllegalArgumentException("test exception..."); catch (ArrayIndexOutOfBoundsException e) System.out.println("3"); catch(arithmeticexception e) System.out.println("4"); System.out.println("doB beres");