SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
• Dalam dunia pengembangan software tentunya programmer tidak ane dengan istilah
ERROR
• Hal tersebut tidak bisa dihindari karena hal ini dapat terjadi diluar perkiraan dan
mungkin bisa menuntun perangkat lunak ke dalam kondisi error yang disebut
EXCEPTION.
• EXCEPTION adalah suatu kejadian/event yang terjadi ketika eksekusi program yang akan
mengganggu alur program.
• Dengan exception, alur program dapat diatur agar melakukan suatu proses ketika
sebuah error terjadi.
• Contoh kejadian:
• Pembagian dengan angka0
• File tidak ditemukan
• Koneksi jaringan terputus ketika membaca data
Oleh : Andri Heryandi, M.T.
Oleh : Andri Heryandi, M.T.
• Nama class exception yang terjadi
ArithmeticException
• Terdapat informasi lokasi terjadinya ERROR
(menuliskan hasil dan program ditutup
normal) tidak tereksekusi karena program di
terminate
Oleh : Andri Heryandi, M.T.
Penanganan exception dapat dilakukan dengan menggunakan
1. Block try catch
2. Block try catch finally
Oleh : Andri Heryandi, M.T.
• Terdapat baris perintah yang setelah lokasi terjadinya
ERROR (menuliskan hasil dan program ditutup
normal) TETAP terekseksui walaupun terjadi
exception
Oleh : Andri Heryandi, M.T.
Jika sebuah/sekumpulan statement memiliki banyak kemungkinan exception, maka untuk
penanganan tiap exception bisa menggunakan block try yang memiliki banyak catch.
ContohKasus:
Pada contoh program sebelumnya(class ContohException2) adabariskb.nextInt() yang
berguna untuk membaca sebuah integer dari keyboard. Bagaimana kalau yang diinputkan
bukan integer, tapi string?
Oleh : Andri Heryandi, M.T.
Solusi :
Berarti ada 2 exception yang harus dihandle dalam program tersebut yaitu Arithmetic
Exception dan Input Mismatch Exception
Oleh : Andri Heryandi, M.T.
Oleh : Andri Heryandi, M.T.
Jika sebuah exception terjadi, maka baris-baris di blok try setelah
baris terjadinya exception pasti tidak akan tereksekusi karena alur
program akan pindah ke blok catch. Jika baris-baris dibawah lokasi
exception ingin tetap dijalankan ketika terjadi exception ataupun
tidak terjadi exception, maka tulislah perintah-perintah tersebut di
bagian finally.
• Finally ditulis di bawah catch.
• Blok finally PASTI dieksekusi walaupun tidak terjadi exception.
• Blok finally biasanya digunakan untuk melepas resource (tutup
file, tutup koneksi ke jaringan, free memory dll).
Oleh : Andri Heryandi, M.T.
• “Tutup scanner” akan dieksekusi baik
ketika terjadi exception atau tidak
Oleh : Andri Heryandi, M.T.
Tidak semua exception yang telah didefinisikan oleh Java mendukung semua kebutuhan kita.
Contoh Kasus:
• Untuk nilai suatu matakuliah, nilai hanya boleh 0 sampai 100.
• Java tidak memiliki exception untuk menangani exception tersebut.
Solusi: Buatlah exception sendiri
Cara membuat exception sendiri:
Buat sebuah class turunan dari Exception atau Runtime Exception
• Exception yang menggunakan super class Exception disebut sebagai checked exception. Jika
suatu method melemparkan exception jenis ini, maka pemanggilan method ini harus dalam
blok try-catch.
• Exception yang menggunakan super class Runtime Exception disebut sebagai unchecked
exception. Jika suatu method melemparkan exception jenis ini, maka pemanggilan method ini
tidak harus dalam blok try-catch.
Oleh : Andri Heryandi, M.T.
Oleh : Andri Heryandi, M.T.
• Throwing Exception adalah suatu operasi melemparkan sebuah
exception ketika sebuah exception terjadi.
• Perintah untuk melempar sebuah exception adalah throw.
• Untuk mendefinisikan sebuah method bisa melemparkan exception
tertentu, maka gunakan keyword throws di pendefinisian method,
diikuti dengan class exceptionnya.
Oleh : Andri Heryandi, M.T.

Weitere ähnliche Inhalte

Was ist angesagt?

5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar KriptografiRoziq Bahtiar
 
Struktur direktori
Struktur direktoriStruktur direktori
Struktur direktoriAnggi DHARMA
 
Makalah sistem informasi
Makalah sistem informasiMakalah sistem informasi
Makalah sistem informasiEka Satria
 
Arsitektur komputer von neumann
Arsitektur komputer von neumannArsitektur komputer von neumann
Arsitektur komputer von neumannMochammed Safri
 
Testing dan implemetasi sistem 2
Testing dan implemetasi sistem 2Testing dan implemetasi sistem 2
Testing dan implemetasi sistem 2Fendi Hidayat
 
Soal uts praktikum pemrograman web
Soal uts praktikum pemrograman webSoal uts praktikum pemrograman web
Soal uts praktikum pemrograman webdedidarwis
 
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekI Putu Arya Dharmaadi
 
[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktoprizki adam kurniawan
 
Abstract Class & Interface
Abstract Class & InterfaceAbstract Class & Interface
Abstract Class & InterfaceYoppy Yunhasnawa
 
Modul Contoh Diagram UML Parkir
Modul Contoh Diagram UML ParkirModul Contoh Diagram UML Parkir
Modul Contoh Diagram UML ParkirHolong Nainggolan
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Braga Rezpect
 
Soal latihan junior level - soal python
Soal latihan   junior level - soal pythonSoal latihan   junior level - soal python
Soal latihan junior level - soal pythonMuhammad sobri maulana
 
Testing&implementasi 3
Testing&implementasi 3Testing&implementasi 3
Testing&implementasi 3aiiniR
 
Rpl 10-perancangan user interface
Rpl 10-perancangan user interfaceRpl 10-perancangan user interface
Rpl 10-perancangan user interfacef' yagami
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010eddie Ismantoe
 

Was ist angesagt? (20)

5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
 
Keamanan Sistem
Keamanan SistemKeamanan Sistem
Keamanan Sistem
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
 
Struktur direktori
Struktur direktoriStruktur direktori
Struktur direktori
 
Makalah sistem informasi
Makalah sistem informasiMakalah sistem informasi
Makalah sistem informasi
 
Ip address
Ip addressIp address
Ip address
 
Arsitektur komputer von neumann
Arsitektur komputer von neumannArsitektur komputer von neumann
Arsitektur komputer von neumann
 
Testing dan implemetasi sistem 2
Testing dan implemetasi sistem 2Testing dan implemetasi sistem 2
Testing dan implemetasi sistem 2
 
Makalah tentang waterfall
Makalah tentang waterfallMakalah tentang waterfall
Makalah tentang waterfall
 
Soal uts praktikum pemrograman web
Soal uts praktikum pemrograman webSoal uts praktikum pemrograman web
Soal uts praktikum pemrograman web
 
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objek
 
[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop
 
Abstract Class & Interface
Abstract Class & InterfaceAbstract Class & Interface
Abstract Class & Interface
 
Modul Contoh Diagram UML Parkir
Modul Contoh Diagram UML ParkirModul Contoh Diagram UML Parkir
Modul Contoh Diagram UML Parkir
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
 
Soal latihan junior level - soal python
Soal latihan   junior level - soal pythonSoal latihan   junior level - soal python
Soal latihan junior level - soal python
 
Testing&implementasi 3
Testing&implementasi 3Testing&implementasi 3
Testing&implementasi 3
 
Rpl 10-perancangan user interface
Rpl 10-perancangan user interfaceRpl 10-perancangan user interface
Rpl 10-perancangan user interface
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
 
Pengenalan Framework CodeIgniter
Pengenalan Framework CodeIgniterPengenalan Framework CodeIgniter
Pengenalan Framework CodeIgniter
 

Ähnlich wie Penanganan Exception dalam Pemrograman Java

Java (Netbeans) - Exception handling - Object Oriented Programming
Java (Netbeans) - Exception handling - Object Oriented ProgrammingJava (Netbeans) - Exception handling - Object Oriented Programming
Java (Netbeans) - Exception handling - Object Oriented ProgrammingMelina Krisnawati
 
Tugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi ObjekTugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi ObjekPungkas Soebarkah
 
PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...
PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...
PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...RUDISELAMAT2
 
4. Materi Java Eclipse 4
4. Materi Java Eclipse 44. Materi Java Eclipse 4
4. Materi Java Eclipse 4Ismail Akbar
 
OOP - Exception
OOP - ExceptionOOP - Exception
OOP - ExceptionKuliahKita
 
1 exception handling
1 exception handling1 exception handling
1 exception handlingFajar Baskoro
 
pbo 8 ervan
pbo 8 ervanpbo 8 ervan
pbo 8 ervanaris
 
8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdfJurnal IT
 
8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdfJurnal IT
 
Jeni Intro2 Bab02 Exception Dan Assertion
Jeni Intro2 Bab02 Exception Dan AssertionJeni Intro2 Bab02 Exception Dan Assertion
Jeni Intro2 Bab02 Exception Dan AssertionIndividual Consultants
 
Exception Handling
Exception HandlingException Handling
Exception HandlingDany Liu's
 
Jeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handlingJeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handlingKristanto Wijaya
 

Ähnlich wie Penanganan Exception dalam Pemrograman Java (20)

Java (Netbeans) - Exception handling - Object Oriented Programming
Java (Netbeans) - Exception handling - Object Oriented ProgrammingJava (Netbeans) - Exception handling - Object Oriented Programming
Java (Netbeans) - Exception handling - Object Oriented Programming
 
Tugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi ObjekTugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi Objek
 
PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...
PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...
PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...
 
4. Materi Java Eclipse 4
4. Materi Java Eclipse 44. Materi Java Eclipse 4
4. Materi Java Eclipse 4
 
14741 9 exception & assertion
14741 9 exception & assertion14741 9 exception & assertion
14741 9 exception & assertion
 
Laporan pboii 2yosa
Laporan pboii 2yosaLaporan pboii 2yosa
Laporan pboii 2yosa
 
OOP - Exception
OOP - ExceptionOOP - Exception
OOP - Exception
 
16. error handling
16. error handling16. error handling
16. error handling
 
1 exception handling
1 exception handling1 exception handling
1 exception handling
 
pbo 8 ervan
pbo 8 ervanpbo 8 ervan
pbo 8 ervan
 
8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf
 
8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf
 
8 penangan eksepsi
8 penangan eksepsi8 penangan eksepsi
8 penangan eksepsi
 
Java7
Java7Java7
Java7
 
29934 materi dan tugas pbo lanjut exception_
29934 materi dan tugas pbo lanjut  exception_29934 materi dan tugas pbo lanjut  exception_
29934 materi dan tugas pbo lanjut exception_
 
6497 13 penanganan pesan exception
6497 13 penanganan pesan exception6497 13 penanganan pesan exception
6497 13 penanganan pesan exception
 
Pengulangan dan Seleksi
Pengulangan dan SeleksiPengulangan dan Seleksi
Pengulangan dan Seleksi
 
Jeni Intro2 Bab02 Exception Dan Assertion
Jeni Intro2 Bab02 Exception Dan AssertionJeni Intro2 Bab02 Exception Dan Assertion
Jeni Intro2 Bab02 Exception Dan Assertion
 
Exception Handling
Exception HandlingException Handling
Exception Handling
 
Jeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handlingJeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handling
 

Mehr von rizki adam kurniawan

[MPPL] Managemen Sumber Daya Manusia
[MPPL] Managemen Sumber Daya Manusia[MPPL] Managemen Sumber Daya Manusia
[MPPL] Managemen Sumber Daya Manusiarizki adam kurniawan
 
[RPL2] Bisnis Model & Market Analysis
[RPL2] Bisnis Model & Market Analysis[RPL2] Bisnis Model & Market Analysis
[RPL2] Bisnis Model & Market Analysisrizki adam kurniawan
 
[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)rizki adam kurniawan
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)rizki adam kurniawan
 
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collectionrizki adam kurniawan
 
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVCrizki adam kurniawan
 
[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Android[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Androidrizki adam kurniawan
 
[PBO] Pertemuan 10 - Pemrograman Database (2)
[PBO] Pertemuan 10 - Pemrograman Database (2)[PBO] Pertemuan 10 - Pemrograman Database (2)
[PBO] Pertemuan 10 - Pemrograman Database (2)rizki adam kurniawan
 
[PBO] Pertemuan 10 - Pemrograman Database (1)
[PBO] Pertemuan 10 - Pemrograman Database (1)[PBO] Pertemuan 10 - Pemrograman Database (1)
[PBO] Pertemuan 10 - Pemrograman Database (1)rizki adam kurniawan
 
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)rizki adam kurniawan
 

Mehr von rizki adam kurniawan (20)

[MPPL] Managemen Sumber Daya Manusia
[MPPL] Managemen Sumber Daya Manusia[MPPL] Managemen Sumber Daya Manusia
[MPPL] Managemen Sumber Daya Manusia
 
[RPL2] Pengujian Perangkat Lunak
[RPL2] Pengujian Perangkat Lunak[RPL2] Pengujian Perangkat Lunak
[RPL2] Pengujian Perangkat Lunak
 
[RPL2] Growth Hacking
[RPL2] Growth Hacking[RPL2] Growth Hacking
[RPL2] Growth Hacking
 
[RPL2] Bisnis Model & Market Analysis
[RPL2] Bisnis Model & Market Analysis[RPL2] Bisnis Model & Market Analysis
[RPL2] Bisnis Model & Market Analysis
 
[RPL2] Deployment Diagram
[RPL2] Deployment Diagram[RPL2] Deployment Diagram
[RPL2] Deployment Diagram
 
[RPL2] Package Diagram
[RPL2] Package Diagram[RPL2] Package Diagram
[RPL2] Package Diagram
 
[RPL2] Sequence Diagram
[RPL2] Sequence Diagram[RPL2] Sequence Diagram
[RPL2] Sequence Diagram
 
[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)
 
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection
 
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
 
[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Android[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Android
 
[PBO] Pertemuan 10 - Pemrograman Database (2)
[PBO] Pertemuan 10 - Pemrograman Database (2)[PBO] Pertemuan 10 - Pemrograman Database (2)
[PBO] Pertemuan 10 - Pemrograman Database (2)
 
[RPL2] Design Sprint
[RPL2] Design Sprint[RPL2] Design Sprint
[RPL2] Design Sprint
 
[PBO] Pertemuan 10 - Pemrograman Database (1)
[PBO] Pertemuan 10 - Pemrograman Database (1)[PBO] Pertemuan 10 - Pemrograman Database (1)
[PBO] Pertemuan 10 - Pemrograman Database (1)
 
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
 
[RPL2] Activity Diagram
[RPL2] Activity Diagram[RPL2] Activity Diagram
[RPL2] Activity Diagram
 
[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak
 
[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism
 
[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 5 - Inheritance
 

Penanganan Exception dalam Pemrograman Java

  • 1.
  • 2.
  • 3. • Dalam dunia pengembangan software tentunya programmer tidak ane dengan istilah ERROR • Hal tersebut tidak bisa dihindari karena hal ini dapat terjadi diluar perkiraan dan mungkin bisa menuntun perangkat lunak ke dalam kondisi error yang disebut EXCEPTION. • EXCEPTION adalah suatu kejadian/event yang terjadi ketika eksekusi program yang akan mengganggu alur program. • Dengan exception, alur program dapat diatur agar melakukan suatu proses ketika sebuah error terjadi. • Contoh kejadian: • Pembagian dengan angka0 • File tidak ditemukan • Koneksi jaringan terputus ketika membaca data Oleh : Andri Heryandi, M.T.
  • 4. Oleh : Andri Heryandi, M.T. • Nama class exception yang terjadi ArithmeticException • Terdapat informasi lokasi terjadinya ERROR (menuliskan hasil dan program ditutup normal) tidak tereksekusi karena program di terminate
  • 5. Oleh : Andri Heryandi, M.T. Penanganan exception dapat dilakukan dengan menggunakan 1. Block try catch 2. Block try catch finally
  • 6. Oleh : Andri Heryandi, M.T. • Terdapat baris perintah yang setelah lokasi terjadinya ERROR (menuliskan hasil dan program ditutup normal) TETAP terekseksui walaupun terjadi exception
  • 7. Oleh : Andri Heryandi, M.T. Jika sebuah/sekumpulan statement memiliki banyak kemungkinan exception, maka untuk penanganan tiap exception bisa menggunakan block try yang memiliki banyak catch. ContohKasus: Pada contoh program sebelumnya(class ContohException2) adabariskb.nextInt() yang berguna untuk membaca sebuah integer dari keyboard. Bagaimana kalau yang diinputkan bukan integer, tapi string?
  • 8. Oleh : Andri Heryandi, M.T. Solusi : Berarti ada 2 exception yang harus dihandle dalam program tersebut yaitu Arithmetic Exception dan Input Mismatch Exception
  • 9. Oleh : Andri Heryandi, M.T.
  • 10. Oleh : Andri Heryandi, M.T. Jika sebuah exception terjadi, maka baris-baris di blok try setelah baris terjadinya exception pasti tidak akan tereksekusi karena alur program akan pindah ke blok catch. Jika baris-baris dibawah lokasi exception ingin tetap dijalankan ketika terjadi exception ataupun tidak terjadi exception, maka tulislah perintah-perintah tersebut di bagian finally. • Finally ditulis di bawah catch. • Blok finally PASTI dieksekusi walaupun tidak terjadi exception. • Blok finally biasanya digunakan untuk melepas resource (tutup file, tutup koneksi ke jaringan, free memory dll).
  • 11. Oleh : Andri Heryandi, M.T. • “Tutup scanner” akan dieksekusi baik ketika terjadi exception atau tidak
  • 12. Oleh : Andri Heryandi, M.T. Tidak semua exception yang telah didefinisikan oleh Java mendukung semua kebutuhan kita. Contoh Kasus: • Untuk nilai suatu matakuliah, nilai hanya boleh 0 sampai 100. • Java tidak memiliki exception untuk menangani exception tersebut. Solusi: Buatlah exception sendiri Cara membuat exception sendiri: Buat sebuah class turunan dari Exception atau Runtime Exception • Exception yang menggunakan super class Exception disebut sebagai checked exception. Jika suatu method melemparkan exception jenis ini, maka pemanggilan method ini harus dalam blok try-catch. • Exception yang menggunakan super class Runtime Exception disebut sebagai unchecked exception. Jika suatu method melemparkan exception jenis ini, maka pemanggilan method ini tidak harus dalam blok try-catch.
  • 13. Oleh : Andri Heryandi, M.T.
  • 14. Oleh : Andri Heryandi, M.T. • Throwing Exception adalah suatu operasi melemparkan sebuah exception ketika sebuah exception terjadi. • Perintah untuk melempar sebuah exception adalah throw. • Untuk mendefinisikan sebuah method bisa melemparkan exception tertentu, maka gunakan keyword throws di pendefinisian method, diikuti dengan class exceptionnya.
  • 15. Oleh : Andri Heryandi, M.T.