Exception Handling dalam Java Programming
Exception class
Exception adalah suatu mekanisme yang digunakan oleh beberapa bahasa pemrograman untuk mendeskripsikan apa yang harus dilakukan jika ada suatu kondisi yang tidak diinginkan terjadi. Eksepsi dapat dijumpai saat:
- Mengakses method dengan argumen yang tidak sesuai
- Membuka file yang tidak ada
- Koneksi jaringan yang terganggu
- Manipulasi operan yang nilainya keluar dari batasan yang didefinisikan
- Pemanggilan class yang tidak ada
Keyword penting pada exception handling
Ada 5 keyword penting dalam
java dalam hal exception handling :
1. TRY
keyword ini
digunakan untuk mencoba menjalankan block program kemudian
mengenai dimana munculnya kesalahan yang ingin diproses.
·
Contoh
penggunaan :
|
public class A
{
public static void main(String[] args) {
try
{
int a = 1 / 0; // berpotensi untuk
menimbulkan kesalahan yaitu
//
pembagian dengan bilangan 0
System.out.println("perintah
selanjutnya");
}
catch (Exception kesalahan)
{
System.err.println(kesalahan);
}
}
}
|
Output :
java.lang.ArithmeticException: / by
zero
c 2. CATCH
Kegunaan
keyword ini adalah 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.
·
Contoh
Program :
|
catch(Exception kesalahan)
{
System.out.println(“mohon maaf, terdapat
kesalahan pada program”);
//lakukan hal lainnya disini
}
|
·
Keyword catch
juga dapat diletakan berulang-ulang sesuai dengan kebutuhan. Contoh :
|
public class A
{
public static void main(String[] args) {
try
{
int a = 1/0; //berpotensi untuk
menimbulkan kesalahan yaitu pembagian dengan bilangan 0
System.out.println("perintah
selanjutnya");
}
catch(NullPointerException
e)
{
}
catch(ArrayIndexOutOfBoundsException
e)
{
}
catch(Exception e)
{
}
}
}
|
3. FINALLY
Keyword ini merupakan keyword yang
menunjukan bahwa block program tersebut akan selalu dieksekusi
meskipun adanya kesalahan yang muncul atau pun tidak ada.
Contoh implementasinya pada program
:
|
public class A
{
public static void main(String[] args) {
try
{
int a = 1/0;
}
catch (Exception e)
{
System.out.println(“ada
kesalahan yang muncul”);
}
finally
{
System.out.println(“terima
kasih telah menjalankan program”);
}
}
}
|
·
Output Program :
ada kesalahan yang muncul
terima kasih telah menjalankan
program
4. throw
·
Keyword ini
digunakan untuk melemparkan suatu bug yang dibuat secara manual. Contoh
program :
|
public class A
{
public static void main(String[] args) {
try
{
throw new Exception("kesalahan terjadi");
}
catch(Exception e)
{
System.out.println(e);
}
}
}
|
Output Program :
java.lang.Exception: kesalahan
terjadi
5. throws
Keyword throws digunakan dalam suatu
method atau kelas yang mungkin menghasilkan suatu kesalahan sehingga
perlu ditangkap errornya. Cara mendefinisikannya dalam method adalah sebagai
berikut : <method modifier> type method-name throws exception-list1,
exceptio-list2, … {}.
·
Contoh
Program :
|
public class A
{
public static void main(String[] args) {
try
{
f();
}
catch(Exception e)
{
System.out.println(e);
}
}
public static void f() throws NullPointerException, ArrayIndexOutOfBoundsException
{
//implementasi method
throw new NullPointerException();
//throw new
ArrayIndexOutOfBoundsException();
}
}
|
Output Program :
java.lang.NullPointerException
PROGRAM TRY-CATCH-FINALLY
class Coba {
public static
void main(String[] args) {
System.out.println("starram\n");
try{
System.out.println(10/0);
}
catch(Throwable b) {
System.err.println("terjadlahan
>> "+b.getMessage());
}
finally {
System.out.println("Pembagiann");
}
System.out.println("endrogram");
}
}
Outputnya :
start
program
terjadi
kesalahan >> / by zero
pembagian
nol
end of
program
NB:
- Program dibaca dari atas, mencetak start program terlebih dulu setelah itu baru masuk try
- Di blok program try terjadi kesalahan. Kesalahannya, bilangan berapapun jika dibagi nol itu tidak bisa atau tidak terdefinisi.
- Blok catch mencetak kesalahannya. Catch mempunyai parameter b yang berkelas Throwable. Throwable adalah kelas yang ada di package java.lang yang menangani eksepsi dan merupakan turunan dari kelas objek (kelas tertinggi di JAVA). Dan perlu diketahui blok ini akan dijalankan jika terjadi eksepsi saja.
- System.err.println untuk mencetak kesalahan dan getMessage() adalah method untuk menampilkan kesalahan yang terjadi.
- Blok finally itu bisa dikatakan seperti footer, jadi akan dijalankan di bagian terakhir saja dan akan tetap dijalankan walaupun tidak terjadi kesalahan atau eksepsi sekalipun
- Setelah selesai akan keluar dari Try Catch dan mencetak end of program.


0 komentar:
Posting Komentar