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

dokumen-dokumen yang mirip
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

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

Percobaan 6 Exception

PERCOBAAN 6 EXCEPTION

PRAKTIKUM 17 MENANGANI EXCEPTION

Praktikum 9 Exception Handling

PRAKTIKUM 6 EXCEPTION

Exception Handling. Oleh : Agus Priyanto, M.Kom

Exception Handling and Multithreading

Pemrograman Berorientasi Obyek. Exception Handling. Politeknik Elektronika Negeri Surabaya

Pemrograman Berorientasi Object

Exception Handling. Topik

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional

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

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

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

Pemrograman Berbasis Objek. Exception Handling. Politeknik Elektronika Negeri Surabaya

Definisi Eksepsi (exception)

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

Exception. Oleh: Mike Yuliana PENS-ITS

Modul 4 Exception, I/O, dan Operasi File

IKG2I4 / Software Project I

Praktikum Exception Handling

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

PEMROGRAMAN JAVA : EXCEPTION

Exception Handling. Prepared by Viska Mutiawani. 1

Penjebakan Eksepsi. Nur hasanah, M.Cs

Pemrograman Lanjut Exception Handling PTIIK

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

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

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

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

Bahasa Pemrograman 2.

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

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

MODUL 9 EXCEPTION HANDLING

EXCEPTION HANDLING. 1. Mampu menangani eksepsi 2. Mengetahui dan memahami tentang multithreading 3. Dapat membuat program tentang exception handling

03/04/2018. Pemrograman Berorientasi Object

PERTEMUAN 3 OBJEK DAN CLASS

Pemrograman Berorientasi. Exception Handling

Exception Handling Lanjutan

MODUL 7 - EXCEPTION HANDLING

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

PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING

PRAKTIKUM I EXCEPTION HANDLING

1.Tujuan. 2. Latar Belakang

PENANGANAN EKSEPSI. class Exc0 { public static void main (String args[]) { int d = 0; int a = 42 / d; } }

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

Menangkap Kesalahan (Error Handling)

Pemrograman Berorientasi Obyek (IT251) Ramos Somya, S.Kom., M.Cs.

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Penanganan Kesalahan

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

//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 8 Argumen dari Command-line

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

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

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Cara Membaca File Text di JAVA

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

Paket dan Interface. 15 th week Estu Sinduningrum ST,MT

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

BAB 8 Argumen dari Command-line

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

BAB 5 Mendapatkan Input dari Keyboard

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

BAB II VARIABEL DAN TIPE DATA

BAB 5 Mendapatkan Input dari Keyboard

2 TIPE DATA DAN VARIABEL

Input Nilai tanpa Case String di Java

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Mengunci sebuah object: Untuk memastikan bahwa hanya satu thread yang mendapatkan hak akses kedalam method tertentu

SUMBER BELAJAR PENUNJANG PLPG

Array Sebagai Parameter Method

Review PBO. Ramos Somya

Algoritma Pemrograman 1

Modul Praktikum 4 Pemograman Berorientasi Objek

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

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

PEMROGRAMAN BERORIENTASI OBJEK

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

Overriding, Overloading, Polymorphism. Pertemuan 10 Pemrograman Berbasis Obyek Dr. Rodiah

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

BAHASA PEMROGRAMAN JAVA

ILUSTRASI KLASIK: BOUNDED BUFFER

Pertemuan 4 Array pada Java

Jelaskan tentang konsep Cohesion & Coupling!

Modul Praktikum Pemrograman

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

BAB 2 INPUT DARI KEYBOARD

JAVA BASIC PROGRAMMING Joobshet

Kelompok 12. Thread Java

Pemrograman Berorientasi Objek 2

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

CHAPTER #5 DEBUGGING AND EXCEPTION HANDLING

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Java Application. Menampilkan Tulisan

Transkripsi:

EXCEPTION HANDLING

A Little Demo public class Test { public static ti void main(string[] i args) { int i = 6; int j = 3; System.out.println(i/j); Output : 2

A Little Demo public class Test { public static ti void main(string[] i args) { int i = 6; int j = 0; System.out.println(i/j); Output : Exception in thread "main" java.lang.arithmeticexception: / by zero at Test.main(Test.java:4)

Exception Suatu object Error khusus yang dibuat ketika terjadi suatu kesalahan pada suatu program. Dengan exception handling yang baik suatu program akan terhindar dari Hang. Exception dipicu oleh run time error dan digunakan sebagai sarana melaporkan kondisi-kondisi kesalahan.

Some Predefined Exceptions Java Exception Code to Cause It NullPointerException String s = null; s.length(); ArithmeticException int a = 3; int b = 0; int q = a/b; ArrayIndexOutOfBoundsException int[] a = new int[10]; a[10]; ClassCastException Object x = new Integer(1); String s = (String) x; StringIndexOutOfBoundsException String s = "Hello"; s.charat(5);

Jenis-Jenis Exception Exception merupakan objek dari subkelas yang diturunkan dari kelas Throwable. Kelas Throwable inii terdapat dalam package java.lang.object. Object Throwable Error Exception... RuntimeException......

Jenis-Jenis Exception Kelompok Kelas Error Error ini bersifat fatal sehingga sistem tidak dapat dimanipulasi untuk diperbaiki, contoh kelas: LinkageError, VirtualMachineError, dan AWTError. Kelompok Kelas Exception Jenis error ini masih dapat diantisipasi dengan menyisipkan statement tambahan untuk mendeteksi data yang berpotensi menimbulkan error.

Jenis-Jenis Exception Ada kelompok exception yang diperiksa oleh interpreter, apakah akan ditangani atau dilempar, namun ada pula exception yang akan tidak diperiksa interpreter. Disamping itu programmer dibolehkan membuat exception sendiri dengan cara extends atau implements kelas Exception

Tabel Checked Exception No Exception Deskripsi 1 ClassNotFoundException Kelas tidak ditemukan 2 CloneNotSupportedException melakukan clone objek yang tidak mengimplementasikan interface Cloneable 3 IllegalAccessException Pengaksesan ke kelas ditolak 4 InstantiationException ti ti ti Menciptakan objek dari kelas abtract ataupun dari interface 5 InterruptedException 6 NoSuchFieldException 7 NoSuchMethodException Thread telah diinterupsi oleh thread lain Field yang diminta tidak ada Method yang diminta i tidak ada

Tabel Uncheked Exception No Exception Deskripsi 1 AritmaticException Kesalahan Aritmatik seperti pembagian dengan nol 2 ArrayIndexOutBoundsException Index array di luar batas 3 ArrayStoreException Pemberian nilai ke elemen array tidak sesuai dengan tipenya 4 ClassCastException Cast yang tidak sah 5 IllegalArgumentException gu e Argument illegal 6 IllegalMonitorStateException Operasi monitor illegal seperti menunggu di thread yang tidak terkunci 7 IllegalStateException Lingkungan atau aplikasi state yang tidak benar 8 IllegalThreadStateException Operasi yang diminta tidak kompatibel dengan state thread saat itu 9 IndexOutOfBoundException Indeks di luar batas

Tabel Uncheked Exception 10 NegativeArraySizeException Array diciptakan dengan ukuran negatif 11 NullPointerException Penggunan null yang tidak sah 12 NumberFormatException Konversi yang tidak sah dari string ke format numerik 13 SecurityException Melanggar aturan security 14 StringIndexOutOfBounds Index di luar batas string 15 UnsupportedOperationException Ditemukan operasi yang tidak didukung Dua Exception yang belum dikelompokkan, yaitu IOException dan AWTException.

Mengantisipasi Exception a. Mendeklarasikan Exception Bentuk umum : [modifier] returntype namamethod() throws tipeexception { Contoh : public void operasimatematika() throws IOException, ClassNotFoundException { public void beripinjaman() throws TolakException{

b. Melempar Exception Bentuk umum : TipeException namaobjek = new TipeException; throw namaobjek; Diringkas menjadi : atau Contoh : throw namaobjek TipeException; throw new TipeException(); TolakException t = new TolakException( lagi pelit ); throw t; Diringkas menjadi : throw new TolakException( lagi pelit! );

c. Menangkap Exception Bentuk umum : try { //pemanggilan method yg mungkin menghasilkan exception //blok statement yg mungkin menghasilkan exception catch(tipeexception1 namaobjek) { // penanganan salah-satu jenis exception catch(tipeexception2 namaobjek) { // penanganan salah-satu satu jenis exception catch(tipeexceptionn namaobjek) { // penanganan salah-satu jenis exception finally { // blok yang harus dieksekusi

Blok try tidak exception, maka blok catch tidak ada yang dieksekusi dan segera blok finally yang dieksekusi. Jika terjadi exception pada blok try, maka salah satu blok catch dieksekusi, kemudian blok finally dieksekusi. k i

Mekanisme Mengantisipasi Exception tiga kemungkinan skenario exception : 1. jika tidak terjadi exception (tidak ada blok catch yang dieksekusi) 2. jika exception terjadi pada blok method tunggal (salah-satu satu blok catch dieksekusi) 3. jika terjadi exception pada blok tersarang.

Mekanisme Mengantisipasi Exception

Menampilkan Pesan Exception Beberapa method standard yang dapat digunakan untuk menampilkan pesan exception merupakan anggota dari kelas java.lang.throwable. No Method Pesan Exception Deskripsi 1 getmessage() Mengembalikan nilai string yang berisi pesan rinci tentang objek Throwable yang mengalami exception 2 tostring() Mengembalikan nilai string yang berisi pesan singkat tentang objek yang mengalami exception 3 getlocalizedmessage() Menampilkan pesan exception lokal (yang terjadi pada subkelas saja) 4 printstacktrace() Method ini bersifat void, dan hanya mencetak informasi tentang objek Throwable

Contoh Membuat Exception class MyException extends Exception { MyException(String s) { super(s + " tidak diperbolehkan!"); class Eksepsi { static void tampil(string s) throws MyException { System.out.println("Tampil: " + s); if (s.equals("amir")) throw new MyException(s); System.out.println("OK!"); public static void main(string argv[]) { try { tampil("ali"); System.out.println("Heh"); Output : tampil("amir"); catch (MyException ex) { System.out.println(ex); finally { System.out.println("OK"); Tampil : ali OK! Heh Tampil : amir MyExcepton : amir tidak diperbolehkan OK