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

dokumen-dokumen yang mirip
Exception. Oleh: Mike Yuliana PENS-ITS

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

Percobaan 6 Exception

PERCOBAAN 6 EXCEPTION

Penanganan Kesalahan

PRAKTIKUM 6 EXCEPTION

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional

PRAKTIKUM 17 MENANGANI EXCEPTION

Pemrograman Berorientasi Obyek. Exception Handling. Politeknik Elektronika Negeri Surabaya

03/04/2018. Pemrograman Berorientasi Object

Exception Handling. Topik

Pemrograman Berbasis Objek. Exception Handling. Politeknik Elektronika Negeri Surabaya

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

MODUL 9 EXCEPTION HANDLING

Modul 4 Exception, I/O, dan Operasi File

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

Exception Handling. Prepared by Viska Mutiawani. 1

Pemrograman Berorientasi Object

Exception Handling. Oleh : Agus Priyanto, M.Kom

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

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

Penjebakan Eksepsi. Nur hasanah, M.Cs

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

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

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

Praktikum 9 Exception Handling

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

Definisi Eksepsi (exception)

PEMROGRAMAN JAVA : EXCEPTION

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

Exception Handling Lanjutan

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

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

IKG2I4 / Software Project I

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

1.Tujuan. 2. Latar Belakang

MODUL 7 - EXCEPTION HANDLING

PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING

Praktikum Exception Handling

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

PRAKTIKUM I EXCEPTION HANDLING

//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 {

PERTEMUAN 3 OBJEK DAN CLASS

Menangkap Kesalahan (Error Handling)

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

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

Bahasa Pemrograman 2.

Pemrograman Lanjut Exception Handling PTIIK

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

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

Abstract Class dan Interface. Viska Mutiawani, M.Sc

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

OPERASI FILE & EXCEPTION HANDLING. Herman Tolle

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

Pemrograman Berorientasi. Exception Handling

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

Exception Handling and Multithreading

PRAKTIKUM 8 FILE INPUT OUTPUT

Array Multidimensi. Pemrograman Dasar. Java

Array Sebagai Parameter Method

MODUL VIII Exception, I/O, dan Operasi File

Pertemuan 4 Array pada Java

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

SUMBER BELAJAR PENUNJANG PLPG

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

Input Nilai tanpa Case String di Java

2 TIPE DATA DAN VARIABEL

PEMAHAMAN DASAR DASAR JAVA

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita

BAB II VARIABEL DAN TIPE DATA

Cara Membaca File Text di JAVA

Modul Praktikum Pemrograman

Modul Praktikum 4 Pemograman Berorientasi Objek

Pertemuan 2 Struktur Kontrol Percabangan

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

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

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

MODUL III ARRAYLIST TUGAS PENDAHULUAN

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Masukkan connector tersebut ke dalam direktori pada tempat jdk di-instal dengan path

Bahasa Pemrograman :: Dasar Pemrograman Java

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

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

Pemrograman Berorientasi Objek 2

I/O (Input dan Output)

Tutorial Java Desktop 2 Melakukan Koneksi ke Database JavaDB

BAB Argument Command-Line dan System Properties

BAB 5 Mendapatkan Input dari Keyboard

BAB 5 Mendapatkan Input dari Keyboard

Algoritma Pemrograman 1

BAB 2 INPUT DARI KEYBOARD

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

Pertemuan 3 Struktur Perulangan pada Java

PEMROGRAMAN SOCKET LANJUTAN

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

PAKET (PACKAGE) 20 Januari 2012

CHAPTER #5 DEBUGGING AND EXCEPTION HANDLING

Transkripsi:

Exception

Topik Penanganan Eksepsi Menangkap Eksepsi Catch Secara bertingkat Melontarkan Eksepsi Melontarkan kembali Eksepsi Klausa Throws

Eksepsi Suatu kondisi yang terjadi ketika program menemui kesalahan saat instruksi program dijalankan. 2 pilihan yang bisa dilakukan: Menangani sendiri eksepsi tersebut Meneruskannya ke luar dengan cara membuat objek yang menjelaskan eksepsi tersebut dan melemparkannya (throw) keluar agar ditangani oleh code yang memanggil method tersebut.

Contoh kesalahan yang terjadi: Pembagian bilangan dengan 0 Pengisian elemen array diluar ukuran array Kegagalan koneksi database File yang akan dibuka tidak exist

Pengelompokan Eksepsi Error VirtualMachineError.. AssertionError StackOverflowError.. OutOfMemoryError Throwable Exception RuntimeException.. SQLException ArithmeticException.. NullPointerException IllegalArgumentException EOFException IOException.. FileNotFoundException

Tujuan masing-masing eksepsi Error : mengindikasikan bahwa error yang terjadi adalah fatal error (severe problem) dimana proses recovery sangat sulit dilakukan bahkan tidak mungkin dilakukan. Contoh : program running out of memory RuntimeException : mengindikasikan kesalahan implementasi atau desain program. Contoh : ArrayIndexOutOfBounds Other exception : mengindikasikan kesalahan environment. Contoh : file not found, invalid URL exception

Common Exception ArithmeticException Hasil dari operasi divide-by-zero pada integer Misal : int i = 12/0; NullPointerException Mencoba mengakses atribut atau method suatu object padahal object belum dibuat. Misal : Date d = null; System.out.println(d.toString()); NegativeArraySizeException Mencoba membuat array dengan ukuran negatif. ArrayIndexOutOfBoundsException Mencoba mengakses elemen array dimana indexnya melebihi ukuran array. SecurityException Biasanya dilempar ke browser, class security manager melempar exception untuk applet yang mencoba melakukan: Mengakses lokal file Open socket ke host yg berbeda dgn host yg di open oleh applet

Eksepsi yang Tidak Dicek Semua eksepsi yang bertipe RuntimeException dan turunannya tidak harus secara eksplisit ditangani dalam program Contoh program class DemoEksepsi public static void main(string args[ ]) int[ ] arr=new int[1]; System.out.println(arr[1]); Hasil eksekusi:

Eksepsi yang Tidak Dicek Contoh program Hasil eksekusi: public class BagiNol public static void main(string args[]) System.out.println("sebelum pembagian"); System.out.println(5/0); System.out.println("sesudah pembagian");

Penanganan Eksepsi Beberapa keyword yang dipergunakan untuk menangani eksepsi antara lain try, catch, catch bertingkat. try /* code yang mungkin mengakibatkan eksepsi*/ catch(tipeeksepsi1 objekeksepsi) /*code untuk menangani eksepsi yang cocok dengan tipeeksepsi1*/ /.. catch(tipe EksepsiN objekeksepsi) /* code untuk menangani eksepsi yang cocok dengan tipeeksepsin*/

Penggunaan Blok try catch class demoeksepsiok public static void main(string args[]) try int[] arr=new int[1]; System.out.println(arr[1]); System.out.println("baris ini tidak akan pernah dieksekusi"); catch(arrayindexoutofboundsexception e) System.out.println("terjadi eksepsi karena indeks di luar kapasitas array"); System.out.println("setelah blok try catch"); Hasil eksekusi:

Penggunaan Blok try catch public class BagiNolok public static void main(string args[]) System.out.println("sebelum pembagian"); try System.out.println(5/0); catch(arithmeticexception e) System.out.println("Terjadi eksepsi karena pembagian dengan nol"); System.out.println("sesudah pembagian"); Hasil eksekusi:

Bentuk pernyataan try lainnya try // blok yang akan ditangkap sekiranya terjadi eksepsi finally // blok yang akan dijalankan terakhir kali Bagian finally akan dijalankan, tak tergantung apakah bagian blok try mengalami eksepsi atau tidak

Contoh: Sebelum pembagian 100.0/5=20.0 public class Bagian finally dijalankan 100.0/4=25.0 public static void main(string args[]) Bagian finally dijalankan 100.0/3=33.33333333 double bilangan=100.0; System.out.println( sebelum pembagian ); Bagian finally dijalankan for(int i=5;i>=0;i--) 100.0/2=50.0 Bagian finally dijalankan try 100.0/1=100.0 System.out.println(bilangan+ / +i+ = ); Bagian finally dijalankan System.out.println(bilangan/i); 100.0/0=infinity Bagian finally dijalankan finally selesai System.out.println( bagian finally dijalankan ); System.out.println( selesai );

Catch Secara Bertingkat try //blok yang ditangkap sekiranya terjadi eksepsi catch(runtime Exception e) //blok yang akan dijalankan kalau terjadi eksepsi RuntimeError catch(exception e) //blok yang akan dijalankan kalau terjadi eksepsi Exception catch(throwable e) //blok yang akan dijalankan kalau terjadi eksepsi lain

Contoh: public class BagiNoloktingkat public static void main(string args[]) System.out.println("sebelum pembagian"); try System.out.println(5/0); catch(runtimeexception e) System.out.println("RuntimeException"); catch(exception e) System.out.println("Exception"); catch(throwable e) System.out.println("Throwable"); System.out.println("sesudah pembagian");

Melontarkan Eksepsi Bentuk pernyataan: throw variabel objek Variabel objek menyatakan variabel objek yang merujuk ke suatu kelas Eksepsi.

Contoh: public class efekthrow public static void main(string args[]) RuntimeException r; r=new RuntimeException( Eksepsi RuntimeException ); System.out.println( sebelum throw ); throw(r); Hasil Eksekusi: sebelum throw Exception in thread main java.lang.runtimeexception: Eksepsi RuntimeException at efekthrow.main(efekthrow.java:12)

Melontarkan Kembali Eksepsi Adakalanya dalam suatu program, kita perlu melontarkan eksepsi kembali. Kegunaannya antara lain memungkinkan metode lain untuk menangkap eksepsi tersebut. public class efekthrow2 public static void main(string args[]) int[] larik=new int[10]; try larik[50]=77 //penyebab eksepsi catch(arrayindexoutofboundsexception a) a=new ArrayIndexOutOfBoundsException( harus berkisar antara 0 sampai dengan 9 ); throw(a);

Klausa throws Klausa throws berfungsi untuk memberitahukan bahwa suatu metode ada kemungkinan menghasilkan eksepsi. Bentuk throws: public tipe1 namametode(tipe2 x,tipe3 y) throws jeniseksepsi

import java.io.*; class coba public void metodea() System.out.println( metode A ); public void metodeb()throws IOException System.out.println( metode ); public class efekthrow public static void main(string args[]) coba obj=new coba(); obj.metodea(); obj.metodeb(); Error!! harusnya try obj.metodeb(); catch(ioexception i)