SlideShare a Scribd company logo
1 of 8
Raditya Yusuf W.
12.240.0047
Exception
adalah event yang terjadi ketika program menemui kesalahan pada saat instruksi program
dijalankan. Banyak hal yang dapat menimbulkan event ini, misalnya crash, harddisk rusak dengan
tiba-tiba, sehingga program-program tidak bisa mengakses file-file tertentu. Programmer pun dapat
menimbulkan event ini, misalnya dengan melakukan pembagian dengan bilangan nol, atau
pengisian elemen array melebihi jumlah elemen array yang dialokasikan dan sebagainya.
Jenis Exception Handling
1. Try – Catch
Untuk penanganan exception, dalam Java digunakan blok try dan catch. Blok try digunakan
untuk menempatkan kode-kode 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. Setelah kita tambahkan blok try –
catch untuk mengatasi error yang terjadi, maka program akan menampilkan pesan error bahwa
ada error yang terjadi pada konsol. Sintaks blok try – catch adalah sebagai berikut :
Try
{
… kode program yang mungkin menghasilkan exception
}
Catch
{exception xx}{…}
Catch
{exception xx}{…}
Petunjuk Penulisan Program :
Blok catch dimulai setelah kurung kurawal dari kode try atau catch terkait.
Penulisan kode dalam blok mengikuti identasi.
2. Multiple Catch
Untuk multiple catch akan kita gunakan jika blok try mungkin menimbulkan lebih dari satu
exception. Sintaks blok multiple catch adalah sebagai berikut :
try
{
instruksi-1
instruksi-2
instruksi-3
……… diabaikan
instruksi-n
}
catch(tipe_eksepsi_1 e1)
{
}
catch(tipe_eksepsi_2 e2)
{
}
catch(tipe_eksepsi_3 e3)
{
}
….
catch(tipe_eksepsi_n en)
{
}
instruksi-lain
…….
3. Try – Catch – Finally
Selain try – catch, kita dapat mendefinisikan blok try – catch dan finally yang memiliki proses
yang lebih lengkap, karena pada finally kita dapat mendefinisikan kode program yang selalu
dieksekusi, baik ada exception yang terjadi maupun bila tidak terjadi exception sama sekali.
Bentuk umum dari blok try-catch-finally adalah sebagai berikut :
Try
{
//tulis pernyataan yang dapat mengakibatkan exception
//dalam blok ini
}
catch( )
{
//tulis aksi apa dari program Anda yang dijalankan jika ada
//exception tipe tertentu terjadi
}
. . .
catch( )
{
//tulis aksi apa dari program Anda yang dijalankan jika ada
//exception tipe tertentu terjadi
}
Finally
{
//tambahkan kode terakhir di sini
}
Exception dilemparkan selama eksekusi dari blok try dapat ditangkap dan ditangani dalam blok
catch. Kode dalam blok finally selalu di-eksekusi. Berikut ini adalah aspek kunci tentang sintak
dari konstruksi try-catch-finally:
• Notasi blok bersifat perintah
• Setiap blok try, terdapat satu atau lebih blok catch, tetapi hanya satu blok finally.
• Blok catch dan blok finally harus selalu muncul dalam konjungsi dengan blok try, dan diatas
urutan.
• Blok try harus diikuti oleh paling sedikit satu blok catch atau satu blok finally, atau keduanya.
• Setiap blok catch mendefinisikan sebuah penanganan exception. Header dari blok catch harus
membawa satu argumen, dimana exception pada blok tersebut akan ditangani. Exception harus
menjadi class pelempar atau satu dari subclassesnya.
• Try-catch yang menggunakan finally maka keyword finally tersebut fungsinya hampir sama
dengan keyword default pada switch-case.
Ada 3 sekenario pemrosesan dengan keyword finally yaitu :
• Bila tidak terjadi exception,maka blok finally akan di eksekusi . setelah selesai, interpreter akan
mengeksekusi statement selanjutnya.
• Bila terjadi exception, interpreter akan berhenti mengeksekusi statement dalam blok try
berikutnya. Kemudian, interpreter akan mencari catch yang sesuai. Bila ditemukan, interpreter
akan mengeksekusi catch dan finally.
• Bila exception terjadi, namun tidak ada catch yang sesuai, maka statement – statemenet try
berikutnya yang masih tersisa tidak akan di eksekusi. Selanjutnya, interpreter akan mengeksekusi
blok finally.
Multiple Catch
Jika kita tidak memasukkan input argumen (tidak ada argument) maka hasilnya adalah Ada
kesalahan 0,karena pada syntac System.out.println(3/den)
3 / hasil input (tidak ada argumen) = tidak ada argumen
Tidak berhasil melewati blok catch dan diketahui kesalahannya yaitu pada blok catch
catch (ArrayIndexOutOfBoundsException e){}
Jika kita memasukkan input angka 2 maka hasilnya adalah 1,karena pada syntac
System.out.println(3/den)
3 / hasil input (2) = 1.5 maka 1
Berhasil melewati blok catch dan kemudian masuk ke finally.
Jika kita memasukkan input angka 0 maka hasilnya adalah Ada kesalahan /by zero,karena pada
syntac System.out.println(3/den)
3 / hasil input (0) = 0
Tidak berhasil melewati blok catch dan diketahui kesalahannya yaitu pada blok catch
(ArithmeticException e){} .
Setelah itu masuk ke blok finally karena salah atau benar blok finally selalu dikerjakan.
NestedTryDemo
*Jika kita tidak memasukkan input argumen(tidak ada argument) maka hasilnya adalah 2
parameters are required! ,karena kita akan mencetak
System.out.println(a/b);
disitu otomatis dibutuhkan 2 argumen untuk mengisi a dan b
kemudian kesalahan ditangkap oleh blok catch (ArrayIndexOutOfBoundsException e){}
dan muncul cetak 2 parameters are required!
* Jika kita memasukkan input argumen(15) maka hasilnya adalah 2 parameters are required!
,karena kita akan mencetak
System.out.println(a/b);
Sedangkan disitu hanya input 1 argumen
disitu otomatis dibutuhkan 2 argumen untuk mengisi a dan b
kemudian kesalahan ditangkap oleh blok catch (ArrayIndexOutOfBoundsException e){}
dan muncul cetak 2 parameters are required!
* Jika kita memasukkan input argumen(15,3) maka hasilnya adalah 5
Karena System.out.println(a/b);  15/3 = 5
* Jika kita memasukkan input argumen(15,0) maka hasilnya adalah Divide by zero,
Karena tidak berhasil melewati blok catch (ArithmeticException e) {} .

More Related Content

What's hot

PBO - Pert 5, Mengenal dan Memahami Konsep Perulangan Pada Java
PBO - Pert 5, Mengenal dan Memahami Konsep Perulangan Pada JavaPBO - Pert 5, Mengenal dan Memahami Konsep Perulangan Pada Java
PBO - Pert 5, Mengenal dan Memahami Konsep Perulangan Pada JavaRUDISELAMAT2
 
Muhammad wardhani,yunus,perulangan
Muhammad wardhani,yunus,perulanganMuhammad wardhani,yunus,perulangan
Muhammad wardhani,yunus,perulanganwardhani dheni
 
PBO Pert 5 Praktek
PBO Pert 5 PraktekPBO Pert 5 Praktek
PBO Pert 5 PraktekRUDISELAMAT2
 
pbo 8 ervan
pbo 8 ervanpbo 8 ervan
pbo 8 ervanaris
 
Tugas perulangan/Looping
Tugas perulangan/LoopingTugas perulangan/Looping
Tugas perulangan/LoopingIqbalSyawaludin
 
Exception Handling
Exception HandlingException Handling
Exception HandlingDany Liu's
 
1 exception handling
1 exception handling1 exception handling
1 exception handlingFajar Baskoro
 
Flow control, exception handling array
Flow control, exception handling arrayFlow control, exception handling array
Flow control, exception handling arrayRangga Ananto
 
Bernis Sagita - Sinkronisasi
Bernis Sagita - SinkronisasiBernis Sagita - Sinkronisasi
Bernis Sagita - Sinkronisasibelajarkomputer
 
4. Materi Java Eclipse 4
4. Materi Java Eclipse 44. Materi Java Eclipse 4
4. Materi Java Eclipse 4Ismail Akbar
 
Tugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi ObjekTugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi ObjekPungkas Soebarkah
 

What's hot (13)

PBO - Pert 5, Mengenal dan Memahami Konsep Perulangan Pada Java
PBO - Pert 5, Mengenal dan Memahami Konsep Perulangan Pada JavaPBO - Pert 5, Mengenal dan Memahami Konsep Perulangan Pada Java
PBO - Pert 5, Mengenal dan Memahami Konsep Perulangan Pada Java
 
Muhammad wardhani,yunus,perulangan
Muhammad wardhani,yunus,perulanganMuhammad wardhani,yunus,perulangan
Muhammad wardhani,yunus,perulangan
 
Basic metasploit
Basic metasploitBasic metasploit
Basic metasploit
 
PBO Pert 5 Praktek
PBO Pert 5 PraktekPBO Pert 5 Praktek
PBO Pert 5 Praktek
 
pbo 8 ervan
pbo 8 ervanpbo 8 ervan
pbo 8 ervan
 
Tugas perulangan/Looping
Tugas perulangan/LoopingTugas perulangan/Looping
Tugas perulangan/Looping
 
Exception Handling
Exception HandlingException Handling
Exception Handling
 
1 exception handling
1 exception handling1 exception handling
1 exception handling
 
Flow control, exception handling array
Flow control, exception handling arrayFlow control, exception handling array
Flow control, exception handling array
 
Bernis Sagita - Sinkronisasi
Bernis Sagita - SinkronisasiBernis Sagita - Sinkronisasi
Bernis Sagita - Sinkronisasi
 
4. Materi Java Eclipse 4
4. Materi Java Eclipse 44. Materi Java Eclipse 4
4. Materi Java Eclipse 4
 
Tugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi ObjekTugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi Objek
 
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_
 

Viewers also liked

Catalog Noaptea alba a creatorilor si designerilor de produs 2015
Catalog Noaptea alba a creatorilor si designerilor de produs 2015 Catalog Noaptea alba a creatorilor si designerilor de produs 2015
Catalog Noaptea alba a creatorilor si designerilor de produs 2015 Revista Atelierul
 
Igraem igrite na polsha
Igraem igrite na polshaIgraem igrite na polsha
Igraem igrite na polshamegikatq
 
La industria de innovación en España: oportunidades y amenazas
La industria de innovación en España: oportunidades y amenazasLa industria de innovación en España: oportunidades y amenazas
La industria de innovación en España: oportunidades y amenazasIgnacio Riesgo
 
Voluntrme Introduction
Voluntrme IntroductionVoluntrme Introduction
Voluntrme Introductionvoluntrme
 
Pacific earthquake engineering research center
Pacific earthquake engineering research centerPacific earthquake engineering research center
Pacific earthquake engineering research centerJaime Espinoza Skinfield
 
120223_PAPUAALIVE_cp_emsyk_single page_reduced
120223_PAPUAALIVE_cp_emsyk_single page_reduced120223_PAPUAALIVE_cp_emsyk_single page_reduced
120223_PAPUAALIVE_cp_emsyk_single page_reducedYoansevin Kansil
 
Chef a la local [autosaved]
Chef a la local [autosaved]Chef a la local [autosaved]
Chef a la local [autosaved]Drakkar Jones
 
Goetz buyer persona
Goetz buyer personaGoetz buyer persona
Goetz buyer personaSydney Goetz
 
Tips for home buyers by alpine housing
Tips for home buyers by alpine housingTips for home buyers by alpine housing
Tips for home buyers by alpine housingAlpineHousing
 

Viewers also liked (15)

Tipss ujian
Tipss ujianTipss ujian
Tipss ujian
 
School of Activist Learning to be a Leader
School of Activist   Learning to be a LeaderSchool of Activist   Learning to be a Leader
School of Activist Learning to be a Leader
 
Catalog Noaptea alba a creatorilor si designerilor de produs 2015
Catalog Noaptea alba a creatorilor si designerilor de produs 2015 Catalog Noaptea alba a creatorilor si designerilor de produs 2015
Catalog Noaptea alba a creatorilor si designerilor de produs 2015
 
Igraem igrite na polsha
Igraem igrite na polshaIgraem igrite na polsha
Igraem igrite na polsha
 
La industria de innovación en España: oportunidades y amenazas
La industria de innovación en España: oportunidades y amenazasLa industria de innovación en España: oportunidades y amenazas
La industria de innovación en España: oportunidades y amenazas
 
NEW CV MAHADEV
NEW CV MAHADEVNEW CV MAHADEV
NEW CV MAHADEV
 
Voluntrme Introduction
Voluntrme IntroductionVoluntrme Introduction
Voluntrme Introduction
 
PHPUnit
PHPUnitPHPUnit
PHPUnit
 
Pacific earthquake engineering research center
Pacific earthquake engineering research centerPacific earthquake engineering research center
Pacific earthquake engineering research center
 
Alpine viva
Alpine vivaAlpine viva
Alpine viva
 
I'm designer!
I'm designer!I'm designer!
I'm designer!
 
120223_PAPUAALIVE_cp_emsyk_single page_reduced
120223_PAPUAALIVE_cp_emsyk_single page_reduced120223_PAPUAALIVE_cp_emsyk_single page_reduced
120223_PAPUAALIVE_cp_emsyk_single page_reduced
 
Chef a la local [autosaved]
Chef a la local [autosaved]Chef a la local [autosaved]
Chef a la local [autosaved]
 
Goetz buyer persona
Goetz buyer personaGoetz buyer persona
Goetz buyer persona
 
Tips for home buyers by alpine housing
Tips for home buyers by alpine housingTips for home buyers by alpine housing
Tips for home buyers by alpine housing
 

Similar to Try-Catch-Finally

Jeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handlingJeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handlingKristanto Wijaya
 
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
 
OOP - Exception
OOP - ExceptionOOP - Exception
OOP - ExceptionKuliahKita
 
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
 
2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdfJurnal IT
 
2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdfJurnal IT
 
Ringkasan materi teori algoritma
Ringkasan materi teori algoritmaRingkasan materi teori algoritma
Ringkasan materi teori algoritmaAkhmad Asari
 
JENI-Intro1-Bab06-Struktur Kontrol.pdf
JENI-Intro1-Bab06-Struktur Kontrol.pdfJENI-Intro1-Bab06-Struktur Kontrol.pdf
JENI-Intro1-Bab06-Struktur Kontrol.pdfJurnal IT
 
Laporan1
Laporan1Laporan1
Laporan1Sa Lam
 
Modul PBO Bab-10 - Event & Exception Handling
Modul PBO Bab-10 - Event & Exception HandlingModul PBO Bab-10 - Event & Exception Handling
Modul PBO Bab-10 - Event & Exception HandlingRakhmat Dedi Gunawan
 

Similar to Try-Catch-Finally (20)

Jeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handlingJeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handling
 
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
 
18314 minggu 12 penanganan kesalahan menangkap exception
18314 minggu 12 penanganan kesalahan menangkap exception18314 minggu 12 penanganan kesalahan menangkap exception
18314 minggu 12 penanganan kesalahan menangkap exception
 
17728 minggu 12 penanganan kesalahan menangkap exception
17728 minggu 12 penanganan kesalahan menangkap exception17728 minggu 12 penanganan kesalahan menangkap exception
17728 minggu 12 penanganan kesalahan menangkap exception
 
Penanganan kesalahan menangkap exception
Penanganan kesalahan menangkap exceptionPenanganan kesalahan menangkap exception
Penanganan kesalahan menangkap exception
 
OOP - Exception
OOP - ExceptionOOP - Exception
OOP - Exception
 
Java7
Java7Java7
Java7
 
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
 
Jeni Intro2 Bab11 Applet
Jeni Intro2 Bab11 AppletJeni Intro2 Bab11 Applet
Jeni Intro2 Bab11 Applet
 
2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf
 
2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf
 
16. error handling
16. error handling16. error handling
16. error handling
 
Ringkasan materi teori algoritma
Ringkasan materi teori algoritmaRingkasan materi teori algoritma
Ringkasan materi teori algoritma
 
JENI-Intro1-Bab06-Struktur Kontrol.pdf
JENI-Intro1-Bab06-Struktur Kontrol.pdfJENI-Intro1-Bab06-Struktur Kontrol.pdf
JENI-Intro1-Bab06-Struktur Kontrol.pdf
 
Laporan1
Laporan1Laporan1
Laporan1
 
Ii java input ouput
Ii   java input ouputIi   java input ouput
Ii java input ouput
 
Operasi Seleksi
Operasi SeleksiOperasi Seleksi
Operasi Seleksi
 
Modul PBO Bab-10 - Event & Exception Handling
Modul PBO Bab-10 - Event & Exception HandlingModul PBO Bab-10 - Event & Exception Handling
Modul PBO Bab-10 - Event & Exception Handling
 

Recently uploaded

Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 
rekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfrekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfssuser40d8e3
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.pptSonyGobang1
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptxAnnisaNurHasanah27
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptxAnnisaNurHasanah27
 

Recently uploaded (9)

Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 
rekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfrekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdf
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
 

Try-Catch-Finally

  • 1. Raditya Yusuf W. 12.240.0047 Exception adalah event yang terjadi ketika program menemui kesalahan pada saat instruksi program dijalankan. Banyak hal yang dapat menimbulkan event ini, misalnya crash, harddisk rusak dengan tiba-tiba, sehingga program-program tidak bisa mengakses file-file tertentu. Programmer pun dapat menimbulkan event ini, misalnya dengan melakukan pembagian dengan bilangan nol, atau pengisian elemen array melebihi jumlah elemen array yang dialokasikan dan sebagainya. Jenis Exception Handling 1. Try – Catch Untuk penanganan exception, dalam Java digunakan blok try dan catch. Blok try digunakan untuk menempatkan kode-kode 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. Setelah kita tambahkan blok try – catch untuk mengatasi error yang terjadi, maka program akan menampilkan pesan error bahwa ada error yang terjadi pada konsol. Sintaks blok try – catch adalah sebagai berikut : Try { … kode program yang mungkin menghasilkan exception } Catch {exception xx}{…} Catch {exception xx}{…} Petunjuk Penulisan Program : Blok catch dimulai setelah kurung kurawal dari kode try atau catch terkait. Penulisan kode dalam blok mengikuti identasi. 2. Multiple Catch Untuk multiple catch akan kita gunakan jika blok try mungkin menimbulkan lebih dari satu exception. Sintaks blok multiple catch adalah sebagai berikut : try { instruksi-1 instruksi-2
  • 2. instruksi-3 ……… diabaikan instruksi-n } catch(tipe_eksepsi_1 e1) { } catch(tipe_eksepsi_2 e2) { } catch(tipe_eksepsi_3 e3) { } …. catch(tipe_eksepsi_n en) { } instruksi-lain ……. 3. Try – Catch – Finally Selain try – catch, kita dapat mendefinisikan blok try – catch dan finally yang memiliki proses yang lebih lengkap, karena pada finally kita dapat mendefinisikan kode program yang selalu dieksekusi, baik ada exception yang terjadi maupun bila tidak terjadi exception sama sekali. Bentuk umum dari blok try-catch-finally adalah sebagai berikut : Try { //tulis pernyataan yang dapat mengakibatkan exception //dalam blok ini } catch( ) { //tulis aksi apa dari program Anda yang dijalankan jika ada //exception tipe tertentu terjadi } . . . catch( ) { //tulis aksi apa dari program Anda yang dijalankan jika ada //exception tipe tertentu terjadi } Finally { //tambahkan kode terakhir di sini } Exception dilemparkan selama eksekusi dari blok try dapat ditangkap dan ditangani dalam blok catch. Kode dalam blok finally selalu di-eksekusi. Berikut ini adalah aspek kunci tentang sintak dari konstruksi try-catch-finally: • Notasi blok bersifat perintah
  • 3. • Setiap blok try, terdapat satu atau lebih blok catch, tetapi hanya satu blok finally. • Blok catch dan blok finally harus selalu muncul dalam konjungsi dengan blok try, dan diatas urutan. • Blok try harus diikuti oleh paling sedikit satu blok catch atau satu blok finally, atau keduanya. • Setiap blok catch mendefinisikan sebuah penanganan exception. Header dari blok catch harus membawa satu argumen, dimana exception pada blok tersebut akan ditangani. Exception harus menjadi class pelempar atau satu dari subclassesnya. • Try-catch yang menggunakan finally maka keyword finally tersebut fungsinya hampir sama dengan keyword default pada switch-case. Ada 3 sekenario pemrosesan dengan keyword finally yaitu : • Bila tidak terjadi exception,maka blok finally akan di eksekusi . setelah selesai, interpreter akan mengeksekusi statement selanjutnya. • Bila terjadi exception, interpreter akan berhenti mengeksekusi statement dalam blok try berikutnya. Kemudian, interpreter akan mencari catch yang sesuai. Bila ditemukan, interpreter akan mengeksekusi catch dan finally. • Bila exception terjadi, namun tidak ada catch yang sesuai, maka statement – statemenet try berikutnya yang masih tersisa tidak akan di eksekusi. Selanjutnya, interpreter akan mengeksekusi blok finally.
  • 5. Jika kita tidak memasukkan input argumen (tidak ada argument) maka hasilnya adalah Ada kesalahan 0,karena pada syntac System.out.println(3/den) 3 / hasil input (tidak ada argumen) = tidak ada argumen Tidak berhasil melewati blok catch dan diketahui kesalahannya yaitu pada blok catch catch (ArrayIndexOutOfBoundsException e){} Jika kita memasukkan input angka 2 maka hasilnya adalah 1,karena pada syntac System.out.println(3/den) 3 / hasil input (2) = 1.5 maka 1 Berhasil melewati blok catch dan kemudian masuk ke finally. Jika kita memasukkan input angka 0 maka hasilnya adalah Ada kesalahan /by zero,karena pada syntac System.out.println(3/den) 3 / hasil input (0) = 0 Tidak berhasil melewati blok catch dan diketahui kesalahannya yaitu pada blok catch (ArithmeticException e){} .
  • 6. Setelah itu masuk ke blok finally karena salah atau benar blok finally selalu dikerjakan. NestedTryDemo
  • 7. *Jika kita tidak memasukkan input argumen(tidak ada argument) maka hasilnya adalah 2 parameters are required! ,karena kita akan mencetak System.out.println(a/b); disitu otomatis dibutuhkan 2 argumen untuk mengisi a dan b kemudian kesalahan ditangkap oleh blok catch (ArrayIndexOutOfBoundsException e){} dan muncul cetak 2 parameters are required! * Jika kita memasukkan input argumen(15) maka hasilnya adalah 2 parameters are required! ,karena kita akan mencetak System.out.println(a/b); Sedangkan disitu hanya input 1 argumen disitu otomatis dibutuhkan 2 argumen untuk mengisi a dan b kemudian kesalahan ditangkap oleh blok catch (ArrayIndexOutOfBoundsException e){} dan muncul cetak 2 parameters are required!
  • 8. * Jika kita memasukkan input argumen(15,3) maka hasilnya adalah 5 Karena System.out.println(a/b);  15/3 = 5 * Jika kita memasukkan input argumen(15,0) maka hasilnya adalah Divide by zero, Karena tidak berhasil melewati blok catch (ArithmeticException e) {} .