Exception Handling 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.
Pengertian
Suatu
program apabila mengalami kesalahan akan menghasilkan suatu runtime
errors seperti gagal membuka file, suatu program melakukan
akses diatas rangearray dan lain-lain. ketika runtime
errors tersebut terjadi, aplikasi akan membuat suatu exception
Jenis –
jenis Exception:
§
Exception class merupakan kesalahan yang disebabkan oleh program dan kesalahan external.
Kesalahan jenis ini dapat ditangkap dan diatasi oleh program. Exception terdiri
dari banyak subclass.
§
Error class merupakan class yang
berhubungan dengan kesalahan padainternal system. Jika terjadi
kesalahan jenis ini maka hanya dapat dilakukan bagaimana memberitahu kepada
pemakai dan melakukan pengakhiran program.
Operasi
Exception dibagi menjadi 3 buah operasi, yaitu :
§
Throwing an exception
§
Catching an exception
Exception merupakan
sebuah event yang akan menginterupsi program yang tidak berjalan normal /
error, lebih mudahnya error handling merupakan penanganan error. Tidak semua
penanganan error ditangani dengan exception, namun dapat mempermudah penanganan
error.
Exception
terdiri dari dua macam kelompok, yaitu :
- Exception
yang merupakan subclass RunTimeException
- Exception yang bukan subclass RunTimeException
RunTime Exception biasanya
disebabkan oleh kesalahan program atau pada desain program. Misalnya
NullPointerException yang disebabkan oleh proses inisialisasi program yang
tidak sempurna dan ArrayIndexOutOfBoundsException yang disebabkan akses
array yang melebihi kapasitas array yang ada.
Dalam bahasa
Java, ketika terjadi kesalahan, otomatis akan dilemparkan sebuah objek yang
disebut exception,
yang kemudian dapat diproses lebih lanjut oleh fungsi-fungsi yang siap
menangani kesalahan tersebut. Proses pelemparan exception tersebut sering
dikenal dengan istilah throwing
exception, sedangkan proses penerimaan exception yang bersangkutan
dikenal dengan istilah catch
exception.
Karena Exception adalah
sebuah kelas maka hakikatnya ketika program berjalan dan muncul sebuah bug atau
kesalahan maka bug tersebut dapat dianggap sebuah object.
Sehingga ketika object ini di tampilkan di layar maka java
akan secara otomatis memanggil method toString yang terdapat
dalamobject bertipe Exception ini. Java memberikan
akses kepada developer untuk mengambil object bug
yang terjadi ini dengan mekanisme yang dikenalException Handling. Exception handling merupakan
fasilitas di java yang memberikan flexibilitas kepada developer untuk
menangkap bug atau kesalahan yang terjadi ketika program
berjalan. Contoh Exception Handling akan dibahas
pada bagian berikutnya.
Dalam ilmu pemrograman, terdapat 3
jenis error. yaitu :
1. Syntax Error
Syntax Error adalah suatu kesalahan dari penulisan syntax pada program sehingga
syntax tersebut tidak dapat dieksekusi oleh program yang pasti membuat program
tersebut error.
contoh :
|
1
|
public static voit main
|
pastinya program akan error, tahukah
dimana letak errornya?, VOIT tidak dikenali oleh C#,sehingga program akan
error.
2. Logical Error
Logical Error adalah suatu kesalahan yang disebabkan oleh si programmer
sendiri, hal ini disebabkan oleh kesalahan penulisan atau rumus yang diterapkan
oleh si programmer.
anda pasti tahu bila semua angka tidak dapat dibagi oleh 0 (nol).
contoh :
|
1
2
3
4
5
|
int a = 6;
int b = 0;
double c= a / b;
Console.WriteLine(c);
|
3. runtime
Error
Error ini akan muncul apabila terjadi
miss komunikasi antara program dan file yang dipanggil dalam program, misalnya
program itu membutuhkan database yang bernama db_siswa yang disimpan pada
localhost,tapi kenyatannya ternyata si programmer tidak mempunyai atau belum
membuat database tersebut di localhost, program akan tetap berjalan, namun saat
aksi simpan data, hapus data atau tampil data pasti program akan error.
dari semua jenis error diatas pasti
memerlukan penanganan agar dapat meminimalisisr ke-error-an pada program.
Ada 5 keyword penting dalam java dalam hal exceptionhandling :
1.try,
Keyword ini biasanya digunakan dalam suatu blockprogram. keyword ini digunakan untuk mencoba
menjalankanblock program kemudian
mengenai dimana munculnya kesalahan yang ingin diproses. Keyword ini juga harus dipasangkan dengan keyword catch atau keyword finally yang
akan dibahas pada point kedua dan ketiga.
2. catch,
Jika anda sudah
melihat contoh try maka
secara tidak langsung anda sudah memahami kegunaan dari keywordini. Dalam
java, keyword catch harus
dipasangkan dengan try. Kegunaan keyword ini adalah menangkap kesalahan
atau bugyang
terjadi dalam block try. Setelah
menangkap kesalahan yang terjadi maka developer dapat
melakukan hal apapun padablock catch sesuai keinginan developer.
3. finally,
Keyword ini merupakan keyword yang
menunjukan bahwa block program tersebut akan
selalu dieksekusi meskipun adanya kesalahan yang muncul atau pun tidak ada.
4. throw,
Keyword ini digunakan untuk
melemparkan suatubug yang dibuat secara manual.
5. throws,
Keyword throws digunakan
dalam suatu method atau kelas yang mungkin menghasilkan suatu kesalahan
sehingga perlu ditangkap errornya
Contoh :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace
OOP2_Widy_ExceptionHandling
{
class Program
{
private static string Login1()
{
string pengguna;
Console.Write("Masukkan
Username : ");
pengguna = Console.ReadLine();
return pengguna;
}
private static string Login2()
{
string id;
Console.Write("Masukkan
Id : ");
id = Console.ReadLine();
return id;
}
private static void
konfigurasi(string user, string pasword)
{
bool error;error = true;
while (error==true)
{
try
{
while(user != "PutriWidiastuti"
|| pasword !="1111100811")
{
Console.WriteLine();
Console.WriteLine(" ** Login
Failed **");
Console.WriteLine();
user = Login1();
pasword = Login2();
}
error = false;
}
catch(Exception)
{
Console.WriteLine();
Console.WriteLine("# User &
Pasword Salah");
Console.WriteLine();
}
}
}
public static void Main(string[]
args)
{
string user,pasword;
user = Login1();
pasword = Login2();
konfigurasi(user,pasword);
Console.WriteLine();
Console.WriteLine(" ** SELAMAT
Login Sukses ** ");
Console.WriteLine();
Console.Write("Press any key to
continue . . . ");
Console.ReadKey(true);
}
}
}
Hasilnya Sebagai Berikut :
0132923734_JaProg.pdf