Haii sobat
koding!!...gimana progress belajar kodignya? Makin ngerti kan yaap!!
Nahhhh hari ini kita akan belajar tentang “ Exception Handling” lohh sobbbb…. Simak yak!
Exception Handling :
Nahhhh hari ini kita akan belajar tentang “ Exception Handling” lohh sobbbb…. Simak yak!
Exception Handling :
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.
Mekanisme :
Penangkapan runtime error, dapat mempunyai beberapa blok
yang menangkap setiap jenis exception, Bentuk umum :
try
{
// pemanggilan method
yg mungkin menghasilkan exception
// blok statement yg
mungkin menghasilkan exception
}
catch(TipeException1
namaObjek) {
// penanganan
salah-satu jenis exception
}
catch(TipeException2
namaObjek) {
// penanganan
salah-satu jenis exception
}
finally
{
//
blok yang harus dieksekusi
}
}
Penjelasan :
1. TRY
Try digunakan untuk mencoba menjalankan block program kemudian mengenai dimana munculnya kesalahan yang ingin diproses.
2. CATCH
1. TRY
Try digunakan untuk mencoba menjalankan block program kemudian mengenai dimana munculnya kesalahan yang ingin diproses.
2. CATCH
Catch digunakan untuk menangkap kesalahan
atau bug yang terjadi dalam block try.Setelah menangkap
kesalahan yang terjadi maka developer dapat melakukan hal apapun
pada block catch sesuai keinginan developer.
3. FINALLY
Finally menunjukan bahwa block programtersebut akan selalu dieksekusi meskipun adanya
kesalahan yang muncul atau pun tidak ada.
Jika pada blok try tidak terjadi exception,
maka blok catch tidak ada yang dieksekusi dan segera blok finally yang
dieksekusi.
Jika terjadi exception pada blok try, maka salah satu blok catch dieksekusi, kemudian blokfinally dieksekusi.
Jika terjadi exception pada blok try, maka salah satu blok catch dieksekusi, kemudian blokfinally dieksekusi.
Tipe-Tipe Exception :
Checked Exception
Checked Exception
No
|
Exception
|
Deskripsi
|
1
|
ClassNotFoundException
|
Kelas tidak ditemukan
|
2
|
CloneNotSupportedException
|
melakukan clone objek yang tidak
mengimplementasikan interfaceCloneable
|
3
|
IllegalAccessException
|
Pengaksesan ke kelas ditolak
|
4
|
InstantiationException
|
Menciptakan objek dari kelas
abtract ataupun dari interface
|
5
|
InterruptedException
|
Thread telah diinterupsi oleh
thread lain
|
6
|
NoSuchFieldException
|
Field yang diminta tidak ada
|
7
|
NoSuchMethodException
|
Method yang diminta tidak ada
|
Uncheked
Exception
No
|
Exception
|
Deskripsi
|
1
|
AritmaticException
|
Kesalahan Aritmatik seperti
pembagian dengan nol
|
2
|
ArrayIndexOutBoundsException
|
Index array di luar batas
|
3
|
ArrayStoreException
|
Pemberian nilai ke elemen array
tidak sesuai dengan tipenya
|
4
|
ClassCastException
|
Cast yang tidak sah
|
5
|
IllegalArgumentException
|
Argument illegal
|
6
|
IllegalMonitorStateException
|
Operasi monitor illegal seperti
menunggu di thread yang tidak terkunci
|
7
|
IllegalStateException
|
Lingkungan atau aplikasi state yang
tidak benar
|
8
|
IllegalThreadStateException
|
Operasi yang diminta tidak
kompatibel dengan state thread saat itu
|
9
|
IndexOutOfBoundException
|
Indeks di luar batas
|
10
|
NegativeArraySizeException
|
Array diciptakan dengan ukuran
negatif
|
11
|
NullPointerException
|
Penggunan null yang tidak sah
|
12
|
NumberFormatException
|
Konversi yang tidak sah dari string
ke format numerik
|
13
|
SecurityException
|
Melanggar
aturan security
|
14
|
StringIndexOutOfBounds
|
Index di luar batas string
|
15
|
UnsupportedOperationException
|
Ditemukan operasi yang tidak
didukung
|
Tipe-Tipe
Message Exception :
Beberapa
method standard yang dapat digunakan untuk menampilkan pesan exception
merupakan anggota dari kelas java.lang.Throwable.
No
|
Method Pesan Exception
|
Deskripsi
|
1
|
getMessage()
|
Mengembalikan nilai string yang
berisi pesan rinci tentang objek
Throwable yang mengalami exception
|
2
|
toString()
|
Mengembalikan nilai string yang
berisi pesan singkat tentang objek yang
mengalami exception
|
3
|
getLocalizedMessage()
|
Menampilkan pesan exception lokal
(yang terjadi pada subkelas saja)
|
4
|
printStackTrace()
|
Method ini bersifat void, dan hanya
mencetak informasi tentang objek Throwable
|
Contoh Kode Exception: 1. Public class Contoh1{
public
static void main (string [] args) {
int num1=5, num2=0;
try{
int num3 = num1/num2;
System.out.println(“Num 3 = “+num3);
int num1=5, num2=0;
try{
int num3 = num1/num2;
System.out.println(“Num 3 = “+num3);
}
Catch(ArtithmeticException
obj) {
System.out.println(“Error”+obj.getLocalMessage() );
System.out.println(“Error”+obj.getLocalMessage() );
}
}
}
2. Public class Contoh2{
}
}
2. Public class Contoh2{
public
static void main (string [] args) {
int num1=5, num2=0;
int arrNum[] ={1,2,3);
try{
int num3 = num1/num2;
System.out.println(“Num 3 = “+num3);
System.out.println(“Elemen Array ke 3 = “+arrNum[3]);
int num1=5, num2=0;
int arrNum[] ={1,2,3);
try{
int num3 = num1/num2;
System.out.println(“Num 3 = “+num3);
System.out.println(“Elemen Array ke 3 = “+arrNum[3]);
}
Catch(ArtithmeticException
obj ){
System.out.println(“Division by zero” );
System.out.println(“Division by zero” );
}
Catch(ArrayIndexOutOfBoundsException
obj) {
System.out.println(“Error Array “ );
System.out.println(“Error Array “ );
}
Catch(Exception
obj) {
System.out.println(“Errorrrrrrrr”);
System.out.println(“Errorrrrrrrr”);
}
}
}
3. public class Contoh3 {
}
}
3. public class Contoh3 {
public
static void main(String[] args) {
int result = division(100,0); // Line 2
System.out.println(“hasil : “+result);
int result = division(100,0); // Line 2
System.out.println(“hasil : “+result);
result
= division(100,2);
System.out.println(“hasil : “+result);
}
public static int division(int totalSum, int totalNumber) {
int quotient = -1;
System.out.println(“Komputasi Pembagian “+totalSum+” dengan “+totalNumber);
try
{ quotient = totalSum/totalNumber; }
catch(Exception e)
{ System.out.println(“Pesan Exception : “+ e.getMessage()); }
finally
{ if(quotient != -1)
{ System.out.println(“Finally Block Dijalankan”);
System.out.println(“hasil fungsi : “+ quotient); }
else
{ System.out.println(“Finally Block DIjalankan. Terjadi Exception”);
System.out.println(“hasil fungsi : “+ quotient);
return quotient;
}
}
return quotient;
}
}
System.out.println(“hasil : “+result);
}
public static int division(int totalSum, int totalNumber) {
int quotient = -1;
System.out.println(“Komputasi Pembagian “+totalSum+” dengan “+totalNumber);
try
{ quotient = totalSum/totalNumber; }
catch(Exception e)
{ System.out.println(“Pesan Exception : “+ e.getMessage()); }
finally
{ if(quotient != -1)
{ System.out.println(“Finally Block Dijalankan”);
System.out.println(“hasil fungsi : “+ quotient); }
else
{ System.out.println(“Finally Block DIjalankan. Terjadi Exception”);
System.out.println(“hasil fungsi : “+ quotient);
return quotient;
}
}
return quotient;
}
}
Mantappp sobat kodinngg, gimana udah ngerti pastinya kan??
Kalo belum , coba dipelajari ulang lagi sobbb :p hahaha...
Kalo belum , coba dipelajari ulang lagi sobbb :p hahaha...
Created By :
Dilraj Putra 6701151059
Telkom University
Praktikum Algoritma Pemograman Lanjut TA9
Dilraj Putra 6701151059
Telkom University
Praktikum Algoritma Pemograman Lanjut TA9
you're the best bro, Prima Raga Sports berkembang dah ini
ReplyDelete