1.Tujuan. 2. Latar Belakang

dokumen-dokumen yang mirip
BAB Tujuan. 2.2 Apa itu Exception? Pendahuluan Error dan Exception Classes

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

Pemrograman Berorientasi Object

Pemrograman Lanjut Exception Handling PTIIK

Definisi Eksepsi (exception)

PERTEMUAN 3 OBJEK DAN CLASS

PRAKTIKUM 17 MENANGANI EXCEPTION

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

Exception Handling. Oleh : Agus Priyanto, M.Kom

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

PRAKTIKUM 6 EXCEPTION

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

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

Exception Handling. Prepared by Viska Mutiawani. 1

Percobaan 6 Exception

PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING

Modul 4 Exception, I/O, dan Operasi File

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

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional

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

PERCOBAAN 6 EXCEPTION

Pemrograman Berorientasi Obyek. Exception Handling. Politeknik Elektronika Negeri Surabaya

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

MODUL 9 EXCEPTION HANDLING

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

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

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

Exception Handling. Topik

Exception. Oleh: Mike Yuliana PENS-ITS

Praktikum 9 Exception Handling

Pemrograman Berbasis Objek. Exception Handling. Politeknik Elektronika Negeri Surabaya

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 11. GUI, Event Handling, Exception Handling

Exception Handling Lanjutan

Pemrograman Berorientasi Objek 2

MODUL 7 - EXCEPTION HANDLING

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

Pemrograman Berorientasi. Exception Handling

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

PEMROGRAMAN JAVA : EXCEPTION

Penanganan Kesalahan

Bahasa Pemrograman 2.

IKG2I4 / Software Project I

Praktikum Exception Handling

Penjebakan Eksepsi. Nur hasanah, M.Cs

BAB 8 Argumen dari Command-line

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

03/04/2018. Pemrograman Berorientasi Object

BAB 8 Argumen dari Command-line

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

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

BAHASA PEMROGRAMAN JAVA

PRAKTIKUM I EXCEPTION HANDLING

Exception Handling and Multithreading

//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 III OBJEK DAN CLASS TUJUAN PRAKTIKUM

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

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

PEMAHAMAN DASAR DASAR JAVA

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

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

SUMBER BELAJAR PENUNJANG PLPG

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

2 TIPE DATA DAN VARIABEL

Bahasa Pemrograman 2.

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

OPERASI FILE & EXCEPTION HANDLING. Herman Tolle

BAB II VARIABEL DAN TIPE DATA

Obyektif : KONTROL ALUR PROGRAM

Array Multidimensi. Pemrograman Dasar. Java

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

Struktur Kontrol Pemrograman Java : PERCABANGAN

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

JAVA BASIC PROGRAMMING Joobshet

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

Modul 3 Flow Control dan Input

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Percabangan dan Perulangan

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Pertemuan 2 Struktur Kontrol Percabangan

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

if (ekspresi_boolean) { Pernyataan1; } else { Pernyataan2; }

5. Consider the following line of code : byte ohmy What is the range of values that could be assigned to the variable ohmy?

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

Percabangan & Perulangan

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Input Nilai tanpa Case String di Java

DASAR PEMOGRAMAN JAVA

BAB 1 KONSEP DASAR JAVA

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

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

Referensi Bahasa Pemrograman Java

Pemrograman Database Java

STRUKTUR PEMROGRAMAN PYTHON

TUGAS PROGRAM DIAGONAL, VETIKAL, DAN HORIZONTAL OPENGL (MENGGUNAKAN JAVA) NAMA : SYIFA MUTIARA SARI KELAS : 3KA23 NPM :

Modul ini mengenalkan Anda konsep dasar mengenai Java generic types.

Modul Praktikum 3 Pemograman Berorientasi Objek

Menangkap Kesalahan (Error Handling)

Transkripsi:

1.Tujuan Menangani exception dengan menggunakan try, catch dan finally Membedakan penggunaan antara throw dengan throws Menggunakan exception class yang berbeda beda Membedakan antara checked exceptions dan unchecked exceptions Membuat exception class tersendiri Menjelaskan keunggulan penggunaan assertions Menggunakan assertions 2. Latar Belakang Bugs dan error dalam sebuah program sangat sering muncul meskipun program tersebut dibuat oleh programmer berkemampuan tinggi. Untuk menghindari pemborosan waktu pada proses error-checking, Java menyediakan mekanisme penanganan exception. Exception adalah singkatan dari Exceptional Events. Kesalahan (errors) yang terjadi saat runtime, menyebabkan gangguan pada alur eksekusi program. Terdapat beberapa tipe error yang dapat muncul. Sebagai contoh adalah error pembagian 0, mengakses elemen di luar jangkauan sebuah array, input yang tidak benar dan membuka file yang tidak ada. Seluruh exceptions adalah subclasses, baik secara langsung maupun tidak langsung, dari sebuah root class Throwable. Kemudian, dalam class ini terdapat dua kategori umum : Error class dan Exception class. Exception class menunjukkan kondisi yang dapat diterima oleh user program. Umumnya hal tersebut disebabkan oleh beberapa kesalahan pada kode program. Contoh dari exceptions adalah pembagian oleh 0 dan error di luar jangkauan array. Error class digunakan oleh Java run-time untuk menangani error yang muncul pada saat dijalankan. Secara umum hal ini di luar control user karena kemunculannya disebabkan oleh run-time environment. Sebagai contoh adalah out of memory dan harddisk crash.

3. Percobaan Percobaan 1 : Menangkap Exception public class DivideByZero { public DivideByZero() { public static void main(string args[]) { System.out.println(3/0); System.out.println("Please print me."); catch(arithmeticexception exc) { System.out.println(exc); System.out.println("After exception."); Output Percobaan :

Percobaan 2 : Multiple Catch public class MultipleCatch { public MultipleCatch() { public static void main(string args[]) { int den = Integer.parseInt(args[0]); //line 4 System.out.println(3/den); //line 5 catch (ArithmeticException exc) { System.out.println("Divisor was 0."); catch (ArrayIndexOutOfBoundsException exc2) { System.out.println("Missing argument."); System.out.println("After exception."); Berikan argument : Tidak Ada argument, 1 0 Output Percobaan : Argumen yang diberikan : 0

Percobaan 3 : Nested Try public class NestedTryDemo { public NestedTryDemo() { public static void main(string args[]){ int a = Integer.parseInt(args[0]); int b = Integer.parseInt(args[1]); System.out.println(a/b); catch (ArithmeticException e) { System.out.println("Divide by zero error!"); catch (ArrayIndexOutOfBoundsException exp2) { System.out.println("2 parameters are required!"); Berikan argument : Tidak Ada argument, 15 15 3 15 0 Output Percobaan : Argumen yang diberikan : 15 3

Percobaan 4 : Nested Try dengan Method public class NestedTryDemo2 { public NestedTryDemo2() { static void nestedtry(string args[]) { int a = Integer.parseInt(args[0]); int b = Integer.parseInt(args[1]); System.out.println(a/b); catch (ArithmeticException e) { System.out.println("Divide by zero error!"); public static void main(string args[]){ nestedtry(args); catch(arrayindexoutofboundsexception e) { System.out.println("2 parameters are required!");

Berikan argument : Tidak Ada argument, 15 15 3 15 0 Output Percobaan : Argumen yang diberikan : 15

Percobaan 5 : Demo Keyword Finally public class FinallyDemo { public FinallyDemo() { static void mymethod(int n) throws Exception{ switch(n){ case 1: System.out.println("first case"); return; case 3: System.out.println("third case"); throw new RuntimeException("third case demo"); case 4: System.out.println("fourth case"); throw new Exception("fourth case demo"); case 2: System.out.println("second case"); catch (RuntimeException e) { System.out.print("RuntimeException caught: "); System.out.println(e.getMessage()); finally { System.out.println("try-block is entered."); public static void main(string args[]){ for (int i=1; i<=4; i++) { FinallyDemo.myMethod(i); catch (Exception e){ System.out.print("Exception caught: "); System.out.println(e.getMessage()); System.out.println();

Output Percobaan :

Percobaan 6 : Demo Keyword throw public class ThrowDemo { public ThrowDemo() { public static void main(string args[]){ String input = "invalid input"; if (input.equals("invalid input")) { throw new RuntimeException("throw demo"); else { System.out.println(input); System.out.println("After throwing"); catch (RuntimeException e) { System.out.println("Exception caught here."); System.out.println(e); Output Percobaan :

Percobaan 7 : Demo Keyword throws class ThrowingClass { static void mymethod() throws ClassNotFoundException { throw new ClassNotFoundException("just a demo"); public class ThrowsDemo { public ThrowsDemo() { public static void main(string args[]) { ThrowingClass.myMethod(); catch (ClassNotFoundException e) { System.out.println(e); Output Percobaan

Percobaan 8 : Multiplecatch Exception ERROR public class MultipleCatchError { public MultipleCatchError() { public static void main(string args[]){ int a = Integer.parseInt(args [0]); int b = Integer.parseInt(args [1]); System.out.println(a/b); catch (Exception e) { System.out.println(e); catch (ArrayIndexOutOfBoundsException e2) { System.out.println(e2); System.out.println("After try-catch-catch."); Output Percobaan Compiling 1 source file to E:\JAVA PROJECTS\JENI PROJECTS\Validation Source Code\JENI Source Code\build\classes E:\JAVA PROJECTS\JENI PROJECTS\Validation Source Code\JENI Source Code\src\jeni\exception\MultipleCatchError.java:28: exception java.lang.arrayindexoutofboundsexception has already been caught 1 error catch (ArrayIndexOutOfBoundsException e2) {

Percobaan 9 : User Defined Exception class HateStringException extends RuntimeException{ public class TestHateString { public TestHateString() { public static void main(string args[]) { String input = "invalid input"; if (input.equals("invalid input")) { throw new HateStringException(); System.out.println("String accepted."); catch (HateStringException e) { System.out.println("I hate this string: " + input +"."); Output Percobaan :

Percobaan 10 : Assertions public class AgeAssert { public AgeAssert() { public static void main(string args[]) { int age = Integer.parseInt(args[0]); assert(age>0); if (age >= 18) { System.out.println("Congrats! You're an adult! =)"); Perintah Kompilasi dan eksekusi : javac source 1.4 AgeAssert.java java enableassertions AgeAssert arguments Output Percobaan HASIL EKSEKUSI SAAT DIBERIKAN ARGUMEN 0

HASIL EKSEKUSI SAAT DIBERIKAN ARGUMEN 18