Menangkap Kesalahan (Error Handling)

dokumen-dokumen yang mirip
Definisi Eksepsi (exception)

Percobaan 6 Exception

Exception. Oleh: Mike Yuliana PENS-ITS

IKG2I4 / Software Project I

PERCOBAAN 6 EXCEPTION

Pemrograman Berorientasi Object

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

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

Exception Handling and Multithreading

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

Pemrograman Berorientasi Obyek. Exception Handling. Politeknik Elektronika Negeri Surabaya

Exception Handling. Topik

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

PRAKTIKUM 17 MENANGANI EXCEPTION

Exception Handling. Oleh : Agus Priyanto, M.Kom

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

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

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

Pemrograman Berbasis Objek. Exception Handling. Politeknik Elektronika Negeri Surabaya

PRAKTIKUM 6 EXCEPTION

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

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

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

Penjebakan Eksepsi. Nur hasanah, M.Cs

Penanganan Kesalahan

Badiyanto, S.Kom., M.Kom. PBO java

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

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

2 TIPE DATA DAN VARIABEL

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional

Modul 4 Exception, I/O, dan Operasi File

Abstract Class dan Interface. Viska Mutiawani, M.Sc

BAB II VARIABEL DAN TIPE DATA

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

SUMBER BELAJAR PENUNJANG PLPG

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

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

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

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

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

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

Pemrograman Berorientasi. Class dan Obyek 2

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 {

Bahasa Pemrograman 2.

BAB V. STATEMEN KONTROL

Modul Praktikum 3 Pemograman Berorientasi Objek

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

PEMROGRAMAN JAVA : EXCEPTION

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

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

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

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

PEMAHAMAN DASAR DASAR JAVA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

Tipe if : If tanpa else (if) If dengan else (if-else) Nested if

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

Percabangan & Perulangan

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

Pemrograman Lanjut Exception Handling PTIIK

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

Exception Handling. Prepared by Viska Mutiawani. 1

IT210 Pemrograman Visual. Ramos Somya

BAB IV HASIL PENELITIAN DAN PENERAPAN

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

BAHASA PEMROGRAMAN JAVA

if (ekspresi_boolean) {

Pemrograman Berorientasi. Exception Handling

PERTEMUAN 3 OBJEK DAN CLASS

Array Multidimensi. Pemrograman Dasar. Java

Array Sebagai Parameter Method

03/04/2018. Pemrograman Berorientasi Object

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

IKG2I4 / Software Project I

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

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

Pertemuan 2 Struktur Kontrol Percabangan

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

JAVA BASIC PROGRAMMING Joobshet

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING

Praktikum 9 Exception Handling

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

Obyektif : KONTROL ALUR PROGRAM

SEKUEN, PERCABANGAN & PENGULANGAN

Ada 3 jenis struktur kontrol: Sequence Structure Selection Structure Repetition Structure Sequence Structure

DASAR PEMOGRAMAN JAVA

Elemen Dasar Dalam Bahasa Java

BAB V PENYELEKSIAN KONDISI DAN PERULANGAN

Praktikum Exception Handling

Pengenalan JavaScript

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

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

PEMROGRAMAN BERORIENTASI OBJEK

Modul 3 Percabangan dan Perulangan

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

Transkripsi:

Menangkap Kesalahan (Error Handling) Untuk membuat penangkap kesalahan ( error handler), Java menyediakan Class Exception. dengan adanya Exception ini, kesalahan tidak akan menyebabkan program keluar dari tugas, dan pesan kesalahan yang biasanya muncul, tidak akan dimunculkan, atau dimunculkan namun dengan modifkasi tertentu. Contoh : class TryAndCatch { public static void main (String untag[]) { int Angka = 20; int Hasil ; Hasil = 20/0; System.out.println(Hasil); Perhatikan gambar diatas, terdapat pesan kesalahan java.lang.arithmaticexception : / by zero Apabila program diatas dimodifikasi menjadi sbb : class TryAndCatch { public static void main (String untag[]) { int Angka = 20; int Hasil ; Hasil = 20/0; System.out.println(Hasil); catch(java.lang.arithmeticexception ex) { System.out.println("Maaf pembaginya adalah nol");

Pesan kesalahan java.lang.arithmaticexception : / by zero, diganti menjadi Maaf Pembaginya adalah nol Contoh 2 : class TryAndCatch { public static void main (String untag[]) { int a[] = {1,2,3; int Angka = 20; for(int i=0; i<3;i++) { System.out.println(a[5]); catch(java.lang.arithmeticexception ex) { System.out.println("Maaf pembaginya adalah nol"); catch(java.lang.arrayindexoutofboundsexception ex) { System.out.println("Maaf index anda telalu besar"); Hasilnya :

Syntax Try and Catch secara Umum : statement_berhasil; catch ( class_exception variabel_penampung) { statement_gagal; Atau statement_berhasil; catch ( class_exception1 variabel_penampung1) { statement_gagal1; catch ( class_exceptionn variabel_penampungn) { statement_gagaln; Atau statement_berhasil; catch ( class_exception1 variabel_penampung1) { statement_gagal1; catch ( class_exceptionn variabel_penampungn) { statement_gagaln; catch(throwable t) { statement_throw; statement_berhasil adalah statement yang diharapkan akan dikerjakan selama program berlangsung statement_gagal adalah statement pengganti bila statement_berhasil (statement yang ada pada blok try) gagal dilaksanakan. class_exception adalah nama class exception penampung kesalahan catching class_exception bisa terdiri dari satu class, namun bisa juga lebih dari satu class, sehingga lebih mendetail. catching class Throwable digunakan apabila exception tidak didaftarkan pada class_exception1 s/d class_exceptionn. Jika dibandingkan dengan struktur kontrol IF..ELSE IF.ELSE, maka Throwable adalah blok ELSE nya.

DAFTAR PESAN KESALAHAN PADA JAVA java.lang.arithmeticexception Dikerjakan ketika terjadi kesalahan arithmatic cth : pembagian oleh nol atau divide by Zero java.lang.arrayindexoutofboundsexception dikerjakan ketika array diindaksikan negatif atau melebihi indeks yang tersedia java.lang.arraystoreexception mengindikasikan usaha yang dibuat untuk menyimpan tipe data dari objek pada array objek gagal. Contoh : Object x[] = new String [3] x[0] = new Integer(0) java.lang.classcastexception mengindakasikan kode yang digunakan untuk mengcast (mengubah tipe data) objek pada suatu sub class tapi bukan dari suatu instance Contoh: Object x[] = new Integer(0); System.out.println((String) x); java.lang.classnotfoundexception dikerjakan apabila aplikasi gagal sewaktu mencoba untuk meload class dg cara sbb: menggunakan forname dari class Class menggunakan findsystem dari class classloader menggunakan loadclass dari class classloader java.lang.clonenotsupportedexception mengindikasikan clone method pada class objek dipanggil untuk mengklone objek, tetapi class objek tersebut tidak mengimplement clonable interface java.lang.exception berdasar dari form Throwable yang mengindikasikan kondisi aplikasi yang dimungkinkan untuk di Catch java.lang.exceptionininitializererror Mengindikasikan terjadinya kesalahan sewaktu menginisialisasi (memberikan nilai awal) pada variable statis java.lang.illegalaccessexception Mengindikasikan terjadinya kesalahan sewaktu meninstancekan suatu class, meng-set atau meng-get suatu Field/Variable, atuapun memanggil suatu prosedur atau kocstruktor, karena hak akses yang tidak terpenuhi/mencukupi.

java.lang.illegalargumentexception Mengindikasikan terjadinya kesalahan sewaktu pembuatan/pemanggilan method (baik proseur/fungsi) karena adanya argumen/parameter yang tidak tepat (berupa kelebihan atupun kekurangan parameter, ataupun tipe datanya tidak sama) java.lang.illegalmonitorstateexception Mengindikasikan terjadinya kesalahan sewaktu thread berusaha menunggu monitor dari suatu Objek, padahal thread tersebut tidak mempunyai/memiliki hak monitor tsb. java.lang.illegalstateexception Mengindikasikan terjadinya kesalahan sewaktu pemanggilan Method. Artinya Method tsb dipanggil pada saat yang tidak tepat, atau dengan kata lain Java atau Aplikasi berbasis java tsb, tidak berada pada saat yang tepat saat pemanggilan method tsb dilakukan. java.lang.illegalthreadstateexception Mengindikasikan terjadinya kesalahan sewaktu pemanggilan Thread. Artinya Thread tsb dipanggil pada saat yang tidak tepat, atau dengan kata lain Java atau Aplikasi berbasis java tsb. Belum berada pada saat yang tepat saat pemanggilan Thread tsb. dilakukan. java.lang.indexoutofboundsexception Mengindikasikan terjadinya kesalahan index dari string, array atau vektor yang melebihi dari seharusnya. java.lang.instantiationexception Mengindikasikan terjadinya kesalahan sewaktu aplikasi bersaha mengcreate suatu instance melalui method newinstance dari class, padahal objek yang akan dicreate berupa interface ataupun abstract. java.lang.interruptedexception Mengindikasikan terjadinya kesalahan sewaktu suatu Thread dalam posisi sleep, waiting atapun pause untuk beberapa saat, sementara thread lain berusaha meng-interrupt thread tsb. java.lang.negativearraysizeexception Mengindikasikan terjadinya kesalahan sewaktu aplikasi hendak membuat array dengan ukuran negatif, seharusnya ukuran array adalah positif. java.lang.nosuchmethodexception Mengindikasikan terjadinya kesalahan sewaktu aplikasi hendak memanggil Method (baik prosedur atapun fngsi) yang tidak ada./ belum dibuat. java.lang.nosuchfieldexception Mengindikasikan terjadinya kesalahan sewaktu aplikasi hendak menggunakan suatu field atau variabel yang tidak ada / belum dibuat

java.lang.nullpointerexception Mengindikasikan terjadinya kesalahan sewaktu aplikasi menggunakan null pada saat suatu object sedang dibutuhkan. Yang termasuk kesalahan ini adalah : Memanggil method dari suatu object yang null Menggunakan variabel dari suatu object yang null Menggunakan array yang null, serta memakaik/memodifkasi array yang ke-null Meng Throw null, pada saat Throwable mempunyai suatu nilai java.lang.numberformatexception Mengindikasikan terjadinya kesalahan sewaktu perubahan tipe data string ke tipe data numerik, padahal tidak ada format numerik untuk string tersebut. Contoh : 123 dapat diubah menjadi suatu numerik (int, double, float dst) 12AB. Tidak dapat diubah menjadi suatu numerik (int, double, float dst) java.lang.runtimeexception RuntimeException adalah superclass dari Exception yang dapat dithrow selama terjadi operasi normal pada Java Virtual Machine java.lang.securityexception dithrow oleh Security Manager, yang mengindikasikan kurangnya hak akses sekuriti java.lang.stringindexoutofboundsexception dithrow oleh method (prosedur/fungsi) bernilai string, yang mengindikasikan bahwa index String adalah negatif, atau index string lebih besar dari yang seharusnya. java.lang.unsupportedoperationexception Mengindikasikan terjadinya kesalahan, karena operasi yang diminta tidak disupport.

Finally Digunakan sebagai tugas final, atau mewajibkan program mengerjakan suatu tugas setelah apapun yang terjadi pada blok try, baik berhasil maupun gagal. Contoh : setelah membuka suatu file untuk dioperasikan, resource memory untuk file tersebut harus dibebaskan, agar memory tidak perlu mengingat variabel-variabel file tersebut. contohfileclass f = new contohfileclass(); if (f.open("/c:/file/name/path")) { ExceptionYangMungkinTerjadi (); finally { f.close(); catching finally bisa berlaku seperti contoh dibawah ini : contohfileclass f = new contohfileclass(); if (f.open("/c:/file/name/path")) { ExceptionYangMungkinTerjadi (); catch (Throwable t) { f.close(); throw t;

finally juga dikerjakan tidak hanya setelah Exception, tetapi juga setelah statement retrun, break dan contonue statement (yang biasanya terjadi di while atau do-while) public class finalexceptionku { public static void main(string untag[]) { int bilangan; bilangan = 2; // cobalah mengubah2 nilai bilangan ini System.out.print("Sebelum pembagian "); while (true) { System.out.print("saksikan perjalannnya "); System.out.println("sebelum masuk 1 "); if (bilangan == 1) return; System.out.println("sebelum masuk 2 "); if (bilangan == 2) break; System.out.println("sebelum masuk 3 "); if (bilangan == 3) continue; System.out.println("sebelum masuk 4 "); if (bilangan == 4) System.out.println("di blok bilangan = 4"); finally { System.out.println("blok ini selalu dikerjakan"); System.out.println("Statemen pada akhir while"); System.out.print("Statement diluar while.\n");