Jumat, 17 Mei 2013

Error Handling (Exception Handling)

Error Handling (Exception Handling)
Exception handling adalah suatu mekanisme penanganan eror yang mungkin terjadi dalam suatu program. Misalnya sebuah program yang memiliki operasi pembagian, dimana suatu ketika user menginputkan bilangan pembagi atau denumerator 0, maka program tersebut harus memiliki suatu exception handling untuk kasus tersebut. Selain contoh diatas exception handling disini juga berguna saat program kita membutuhkan akses ke CD ROM, USB, Audio&Video File, Internet dll, sehingga apabila alat alat yang kita butuhkan dalam program kita tersebut tiba-tiba terputus aksesnya maka program kita tidak secara tiba-tiba mati dan agar program kita bisa terus berjalan.

Program yang tidak menggunakan exception handling:
·      Menjalankan perintah
·      Jika dalam menjalankan perintah menemui error
·       Program berhenti
Program yang menggunakan exception handling :
·      Menjalankan perintah
·      Jika dalam menjalankan perintah menemui error
·      Exception akan melemparkan error tersebut
·      Catch akan menerima dan memproses error tersebut
·      Program menjalankan perintah selanjutnya
Sehingga dengan menggunakan Exception Handling kita dapat memprevent terjadinya runtime error yang menyebabkan program kita berhenti ditengah tengah jalan.
Sebelum kita merambah ke programnya, mari kita klasifikasikan jenis-jenis error terlebih dahulu, 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 :
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, lah kok bisa? 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). Lah kalau si programmer tetep ngotot,pasti programnya error.
contoh :
int a = 6;
int b = 0;
double c= a / b;
Console.WriteLine(c);
bagaimana?sudah jelas kan?
3.    Runtime Error 
Error yang satu ini tergolong error yang unik,lah kenapa? soalnya menurut saya errornya gara-gara kecerobohan si programmer itu sendiri. Error ini akan muncul apabila terjadi miss communication 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. 
·       Contoh Program
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
usingSystem;
namespaceoop_exceptionhandler
{
classProgram
{
    privatestaticintPerkalian()
    {
        inthasilKali;
        Console.WriteLine();
        Console.WriteLine("Soal 5 X 5");
        Console.Write("Input Hasil Perkalian : ");
        hasilKali = Convert.ToInt32(Console.ReadLine());
        returnhasilKali;
    }
    privatestaticvoidOperasi_Perkalian(intperkalian)
    {
        boolhasil = true;
        while(hasil == true)
        {
        try
        {
        while(perkalian!=25)
        {
            Console.WriteLine("Hasil Operasi Salah = {0}",perkalian);   perkalian = Perkalian();
        }
        hasil = false;
        }
        catch(Exception)
        {
        Console.WriteLine("Hasil Operasi Salah = {0}",perkalian);
        }
        }
    }
    publicstaticvoidMain(string[]args)
    {
        intperkalian;
        perkalian = Perkalian();
        Operasi_Perkalian(perkalian);
        Console.WriteLine("Hasil Operasi Benar");
        Console.ReadKey();
    }
}
}

Hasil Program

http://imamoto17.files.wordpress.com/2013/04/exceptionhandler1.png

Tidak ada komentar:

Posting Komentar