Exception Handling. Prepared by Viska Mutiawani. 1

dokumen-dokumen yang mirip
Exception Handling Lanjutan

Percobaan 6 Exception

PERCOBAAN 6 EXCEPTION

PRAKTIKUM 17 MENANGANI EXCEPTION

PRAKTIKUM 6 EXCEPTION

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

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

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

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

Definisi Eksepsi (exception)

Exception Handling. Oleh : Agus Priyanto, M.Kom

Pemrograman Berorientasi Object

Variabel tersebut seharusnya bisa dideklarasikan didalam try block dan block catch

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

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

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

Modul 4 Exception, I/O, dan Operasi File

Pemrograman Lanjut Exception Handling PTIIK

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

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

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

03/04/2018. Pemrograman Berorientasi Object

Pemrograman Berorientasi. Exception Handling

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

1.Tujuan. 2. Latar Belakang

Penanganan Kesalahan

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional

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

PRAKTIKUM I EXCEPTION HANDLING

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

Pemrograman Berbasis Objek. Exception Handling. Politeknik Elektronika Negeri Surabaya

Bahasa Pemrograman 2.

Exception Handling. Topik

Pemrograman Berorientasi Obyek. Exception Handling. Politeknik Elektronika Negeri Surabaya

IKG2I4 / Software Project I

MODUL 9 EXCEPTION HANDLING

MODUL 7 - EXCEPTION HANDLING

PEMROGRAMAN JAVA : EXCEPTION

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

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

PERTEMUAN 3 OBJEK DAN CLASS

Praktikum 9 Exception Handling

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

PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING

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

Praktikum Exception Handling

BAB 5 Mendapatkan Input dari Keyboard

Penjebakan Eksepsi. Nur hasanah, M.Cs

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

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

BAB 5 Mendapatkan Input dari Keyboard

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

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

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

Input Nilai tanpa Case String di Java

Modul 3 Flow Control dan Input

Abstract Class dan Interface. Viska Mutiawani, M.Sc

2 TIPE DATA DAN VARIABEL

Perulangan / Looping

Exception Handling and Multithreading

OPERASI FILE & EXCEPTION HANDLING. Herman Tolle

Modul Praktikum Pemrograman

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

SUMBER BELAJAR PENUNJANG PLPG

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

BAB II VARIABEL DAN TIPE DATA

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

JAVA BASIC PROGRAMMING Joobshet

BAB 2 INPUT DARI KEYBOARD

Modul Tutorial C# 2 DASAR PEMROGRAMAN C# : STATEMENT DAN OPERATOR ENRICO BUDIANTO MICROSOFT INNOVATION CENTER UNIVERSITAS INDONESIA

CHAPTER #5 DEBUGGING AND EXCEPTION HANDLING

Pemrograman Berorientasi Objek 2

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

BAHASA PEMROGRAMAN JAVA

Latihan Ujian Pemrograman Berorientasi Objek. Semester Genap 2016/2017

IT210 Pemrograman Visual. Ramos Somya

Generics. Prepared by Viska Mutiawani. 1

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

Menangkap Kesalahan (Error Handling)

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Database Java

Pengenalan Program Java

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

Percabangan dan Perulangan

Pemrograman Berorientasi Objek (PBO) PERTEMUAN X (LOOPING)

Obyektif : KONTROL ALUR PROGRAM

I/O (Input dan Output)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Bahasa Pemrograman 2.

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

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.

Pemrograman JAVA INPUT-OUTPUT

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

Array Multidimensi. Pemrograman Dasar. Java

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

Pemrograman Berorientasi. Class dan Obyek 2

Tiga Metode Sangat Penting dalam Pemrograman Java Bagi Pemula

Transkripsi:

Exception Handling Prepared by Viska Mutiawani 1

Konsep penting Assertion Exception handling: try-catch-finally 2

Assertion 3

What is assertion? Assertion merupakan statement dalam bahasa Java yang dapat digunakan untuk menguji program berdasarkan asumsi-asumsi. Sewaktu eksekusi assertion, asumsi tersebut dipercaya benar. Jika gagal, maka JVM akan melempar error bernama AssertionError. Diperkenalkan pada Java versi ke 4. 4

Kegunaan assertion Berguna untuk mendeteksi dan mengoreksi error pemrograman. Assertion utamanya digunakan untuk tujuan pengujian. 5

Syntax assertion Ada 2 cara membuat assertion: assert expression; assert expression1 : expression2; Fitur assertion secara default dalam kondisi disable (tidak aktif). Jadi anda harus enable (aktifkan) dahulu. Caranya: Gunakan, -ea or -enableassertions pada perintah java. Contoh sesudah mengkompil: javac AssertionExample.java Maka run dengan cara: java -ea AssertionExample 6

Contoh import java.util.scanner; class AssertionExample{ public static void main( String args[] ){ Scanner scanner = new Scanner( System.in ); System.out.print("Enter ur age "); int value = scanner.nextint(); assert value>=18:" Not valid"; System.out.println("value is "+value); Contoh hasil output: Output: Enter ur age 11 Exception in thread "main" java.lang.assertionerror: Not valid 7

Kondisi tidak menggunakan assertion Ada beberapa keadaan dimana anda sebaiknya tidak menggunakan assertion: Diambil dari web Oracle, assertion sebaiknya tidak digunakan untuk mengecek argumen pada method public. Karena dapat menghasilkan runtime exception seperti: IllegalArgumentException, NullPointerException etc. Jangan gunakan assertion, jika anda tidak menginginkan error pada situasi apapun. 8

Exception handling: Try-catchfinally 9

What is exception? Exception: kondisi abnormal Pada bahasa Java, exception merupakan suatu peristiwa yang mengganggu jalannya program secara normal. Berupa objek yang dilempar sewaktu runtime. 10

What is exception handling? Merupakan mekanisme untuk menangani error runtime seperti ClassNotFound, IO, SQL, Remote etc. Kegunaannya: Menjaga aliran normal dari program/aplikasi 11

Skenario Andai ada statement seperti di bawah: statement 1; statement 2; statement 3; statement 4; statement 5;//exception occurs statement 6; statement 7; statement 8; statement 9; statement 10; Jika exception muncul pada statement 5, maka statement 6-10 tidak akan dijalankan. Namun jika kita melakukan exception handling, maka statement 6-10 bisa dijalankan. 12

Hirarki class Exception 13

Tipe-tipe exception Checked exception Dicek saat kompilasi Class yang extend Throwable (kecuali RuntimeException dan Error) merupakan checked exception. Unchecked exception Tidak dicek saat kompilasi, baru dicek saat runtime Class yang extend RuntimeException termasuk unchecked exception, seperti ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException Error Keadaan fatal yang terjadi Contoh: OutOfMemoryError, VirtualMachineError, AssertionError 14

Contoh skenario unchecked exception Pembagian dengan 0. int a=50/0; //ArithmeticException Jika variabel menyimpan null, dan variabel tadi dipakai. String s=null; System.out.println(s.length());//NullPointerException Kesalahan format number String s="abc"; int i=integer.parseint(s);//numberformatexception Memasukkan data ke dalam indeks yang salah pada array int a[]=new int[5]; a[10]=50; //ArrayIndexOutOfBoundsException 15

Exception handling dengan try-catchfinally Salah satu cara untuk menghandle exception adalah dengan menggunakan blok try-catch-finally. Try: berisi bagian yang akan menghasilkan exception Catch: jika exception muncul akan ditangkap dan dihandle Finally: akan selalu dilakukan walau tidak ada exception Syntax: try{ //code that may throw exception catch(exception_class_name ref){ finally{ 16

Contoh sederhana public class Testtrycatch2{ public static void main(string args[]){ try{ int data=50/0; catch(arithmeticexception e){system.out.println(e); System.out.println("rest of the code..."); 17

Multiple catch Jika anda membuat coding untuk memproses sesuatu dan akan menghasilkan beberapa jenis exception, anda dapat menggunakan banyak catch sekaligus. Namun saat ada satu exception maka hanya akan ada satu catch yang paling sesuai yang digunakan. Multiple catch blok harus disusun dari yang paling spesifik hingga yang paling umum. 18

Mana yang betul? public class TestMultipleCatchBlock{ public static void main(string args[]){ try{ int a[]=new int[5]; a[5]=30/0; catch(arithmeticexception e){ System.out.println("task1 is completed" ); catch(arrayindexoutofboundsexceptio n e){system.out.println("task 2 complet ed"); catch(exception e){system.out.println("c ommon task completed"); System.out.println("rest of the code..."); 19 class TestMultipleCatchBlock1{ public static void main(string args[]){ try{ int a[]=new int[5]; a[5]=30/0; catch(exception e){ System.out.println("common task complete d"); catch(arithmeticexception e){ System.out.println("task1 is completed"); catch(arrayindexoutofboundsexceptio n e){system.out.println("task 2 completed" ); System.out.println("rest of the code...");

Nested Try Try juga bisa nested (berada di dalam try yang lain) bila diperlukan. class Excep6{ public static void main(string args[]){ try{ try{ System.out.println("going to divide"); int b =39/0; catch(arithmeticexception e){system.out.println(e); try{ int a[]=new int[5]; a[5]=4; catch(arrayindexoutofboundsexception e){system.out.println(e); System.out.println("other statement); catch(exception e){system.out.println("handeled"); System.out.println("normal flow.."); 20

Finally block Digunakan untuk eksekusi code penting seperti tutup connection, tutup stream. Akan selalu dieksekusi saat exception dihandle atau tidak dihandle. Haruslah sesudah block try atau block catch. 21