T - Exception Handling.pdf

Pemrograman Berbasis Objek

Exception Handling

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Topik
p






Kategori Exception
try, catch, finally
yang
g melempar
p exception

p
Method y
Aturan overriding method dan exception
Membuat class exception baru

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Definisi Exception
• Suatu mekanisme penanganan kesalahan.
• Event yang terjadi ketika program menemui
kesalahan saat instruksi program dijalankan.

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Exception
• Exception sering digunakan dalam akses

sumberdaya
b d
non memori.
i
Catatan:
• Exception = untuk menangani kesalahan ringan (mild
error).
error)
• 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)

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Contoh kesalahan yang terjadi:
yang terjadi:







Pembagian bilangan dengan 0
Pengisian elemen array diluar ukuran array
g g
koneksi database
Kegagalan
File yang akan dibuka tidak exist
p
yg akan dimanipulasi
p
out of p
prescribed
Operand
range
g
obyek

y yyang
g belum diinisialisasi
• Mengakses

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Common Exception
p
… 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
Mi l : Date d = null;
System.out.println(d.toString());
… NegativeArraySizeException

† Mencoba membuat array dengan ukuran negatif.
… ArrayIndexOutOfBoundsException
† Mencoba mengakses elemen array dimana index nya 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

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Contoh Exception
Class DivByZero {
public static void main(String args[]) {
System.out.println(3/0);
System out println(“Pls
System.out.println(
Pls. print me

me.”);
);
}
}
• Menampilkan
M
ilk pesan error
Exception in thread "main“ java.lang.ArithmeticException: / by zero
at DivByZero.main(DivByZero.java:3)

Politeknik Elektronika Negeri Surabaya

7

Pemrograman Berbasis Objek

Kategori Exception

Politeknik Elektronika Negeri Surabaya


Pemrograman Berbasis Objek

Apa yang terjadi jika terjadi kesalahan?
• Secara otomatis akan dilempar
p sebuah object
j
yyang
g
disebut dgn exception.
• Exception dapat diproses lebih lanjut oleh fungsi-fungsi
yang siap menangani kesalahan.
• Proses pelemparan exception disebut dgn throwing
exception.
• Proses
P
penerimaan
i
exception
ti disebut
di b t dengan

d
catch
t h
exception.

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Contoh kejadian error – Cara lama
(loading file from the disk)
(loading file from the disk) 
int status = loadTexfile();

If (status != 1) {
// something unusual happened, describe it
switch (status) {
case 2:
// file not found
break;

case 3:
//disk error
break;
case 4:
//file corrupted
break;
default:
// other error
}
} else {
// file loaded OK, continue with program
}

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Contoh program
p g
Fungsi bacaFile

BukaFile
BacaBarisFileSampaiHabis
TutupFile

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Ditambahkan program untuk pengecekan berhasil
tidaknya pembacaan file

Fungsi bacaFile
BukaFile
Jika Gagal Buka File
Lakukan Sesuatu
Jika Berhasil Buka File
BacaBarisFileSampaiHabis
TutupFile

Politeknik Elektronika Negeri Surabaya


Pemrograman Berbasis Objek

• Bagaimana bila ditambahkan program untuk
pengecekan terhadap status pembacaan file?
g
bila ditambahkan p
program
g
untuk
• Bagaimana
pengecekan terhadap status penutupan file?
program
g
akan menjadi
j
sangat
g p
panjang
j g
• Maka p
dan banyak terdapat nested if-else.

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Solusi?
Gunakan exception
Bentuk:
try {
………..
} catch (ExceptionType x) {
………..
}

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

• Blok try : digunakan untuk menempatkan kode
kodekode program java yang mengandung kode
program yang mungkin melemparkan
exception.
• Blok catch : digunakan untuk menempatkan
kode-kode program java yang digunakan untuk
menangani sebuah exception tertentu.

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Implementasi 1
p
try {

Fungsi bacaFile
BukaFile
BacaBarisFileSampaiHabis
TutupFile
} catch (KesalahanBukaFile) {
// lakukan sesuatu
}

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Try dgn banyak catch
y g
y
…
…
…
…

Dapat digunakan beberapa blok catch untuk satu blok try.
Exception dalam satu program bisa mengatasi banyak exception.
Contoh implementasi:
Misal dalam satu blok try terdapat kemungkinan terjadi:
† NullPointerException
† IndexOutOfBoundsException
† ArithmeticException
try {
………..
} catch (ExceptionType1 x1) {
………..
} catch ((ExceptionType2
p
yp
x2)) {
………..
}

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Implementasi 2
p
try {

Fungsi bacaFile
BukaFile
BacaBarisFileSampaiHabis
p
TutupFile
} catch (KesalahanBukaFile) {
// lakukan sesuatu
} catch (KesalahanAlokasiMemori) {
// lakukan sesuatu
} catch (KesalahanTutupFile) {
// lakukan sesuatu
}

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Checked/Unchecked Exceptions
Checked/Unchecked Exceptions
• Exception
p
bisa checked atau unchecked
– Checked = dicek oleh the compiler

• Checked exception hanya dapat ditangani dalam try
block atau method yang didesain untuk melempar
exception.
– Compiler akan memberitahu jika checked exception tidak ditangani
secara tepat.
t
t
– Contoh : IOException.

• Unchecked exception tidak memerlukan penanganan
langsung . Pada saat dicompile tidak ada pemberitahuan
kesalahan.
– Contoh : RunTimeException dan turunannya
Politeknik Elektronika Negeri Surabaya

19

Pemrograman Berbasis Objek

Checked/Unchecked Exceptions
Checked/Unchecked Exceptions

Politeknik Elektronika Negeri Surabaya

20

Pemrograman Berbasis Objek

Melempar Exception
‐ Throw
Th
• Java memperbolehkan untuk melempar
exception (generate exception)
p
object>;
j
;
throw

Dokumen yang terkait

AN ALIS IS YU RID IS PUT USAN BE B AS DAL AM P E RKAR A TIND AK P IDA NA P E NY E RTA AN M E L AK U K A N P R AK T IK K E DO K T E RA N YA NG M E N G A K IB ATK AN M ATINYA P AS IE N ( PUT USA N N O MOR: 9 0/PID.B /2011/ PN.MD O)

0 82 16

Anal isi s L e ve l Pe r tanyaan p ad a S oal Ce r ita d alam B u k u T e k s M at e m at ik a Pe n u n jang S MK Pr ogr a m Keahl ian T e k n ologi , Kese h at an , d an Pe r tani an Kelas X T e r b itan E r lan gga B e r d asarkan T ak s on om i S OL O

2 99 16

EVALUASI TARIF ANGKUTAN ANTAR KOTA TRAYEK TERMINAL LEMPAKE / SAMARINDA - TERMINAL SANGATTA BERDASARKAN BIAYA OPERASIONAL KENDARAAN

4 108 15

STUDI PENGGUNAAN KOMBINASI FUROSEMID - SPIRONOLAKTON PADA PASIEN GAGAL JANTUNG (Penelitian di Rumah Sakit Umum Dr. Saiful Anwar Malang)

15 131 27

Pola Mikroba Penyebab Diare pada Balita (1 bulan - 5 tahun) dan Perbedaan Tingkat Kesembuhan Di RSU.Dr.Saiful Anwar Malang (Periode Januari - Desember 2007)

0 76 21

KONSTRUKSI BERITA MENJELANG PEMILU PRESIDEN TAHUN 2009 (Analisis Framing Pada Headline Koran Kompas Edisi 2 juni - 6 juli 2009)

1 104 3

Improving the VIII-B Students' listening comprehension ability through note taking and partial dictation techniques at SMPN 3 Jember in the 2006/2007 Academic Year -

0 63 87

Kerjasama Kemanan Antara Autralia - Indonesia Dalam Mengataasi Masalah Terorisme Melalui Jakarta Centre For Law Enforcement Cooperation (JCLEC)

1 25 5

PENGGUNAAN BAHAN AJAR LEAFLET DENGAN MODEL PEMBELAJARAN THINK PAIR SHARE (TPS) TERHADAP AKTIVITAS DAN HASIL BELAJAR SISWA PADA MATERI POKOK SISTEM GERAK MANUSIA (Studi Quasi Eksperimen pada Siswa Kelas XI IPA1 SMA Negeri 1 Bukit Kemuning Semester Ganjil T

47 275 59

PERBEDAAN HASIL BELAJAR IPS TERPADU ANTARA PENGGUNAAN MODEL PEMBELAJARAN KOOPERATIF TIPE NUMBERED HEAD TOGHETHER (NHT) DAN SNOWBALL THROWING (ST) DENGAN MEMPERHATIKAN SIKAP SISWA TERHADAP PEMBELAJARAN PADA SISWA KELAS VIII DI SMP YP 17 BARADATU WAYKANAN T

0 25 90