Laman

Kamis, 03 Februari 2011

Menangkap kesalahan dengan Try Catch di C Sharp ( C# )

Agar program stabil, Progamer harus mengantisipasi setiap kemungkinan yang akan terjadi saat program dijalankan (erorr runtime). karena error runtime ini lebih sulit dideteksi dari pada jenis jenis error lainnya. Sebagai ilustrasi apakah itu error runtime perhatikan contoh berikut ini. Misalnya telah sibuat suatu project yang tersambung dengan DBMS mysql. setelah semua kode selesai dibuat, saat di run tidak ada error sama sekali akan tetapi waktu button load data ditekan terjadi error dikarenakan dikomputer tersebut belum terinstal service dari mysql. ini adalah salah satu erorr runtime, yaitu erorr yang terjadi akibat kesalahan algoritma bukan karena kesalahan pengetikan code.
Untuk mengatasi error runtime  ataupun kemungkinan kesalahan lainnya sewaktu program dijalankan, programer biasanya menggunakan sintak try... catch. dimana blok statemen ini akan menangkap semua error dan akan menyimpannya, sehingga aplikasi yang dijalankan tidak akan terganggu.Mari kita coba membuat aplikasi untuk menangkap eror saat runtime.

Seperti biasanya. siapkan project baru, klik file pilih new project, akan muncul kotak dialog, setelah muncul kotak dialog pada kotak project name silahkan isi nama project sesuai dengan ke inginan, tidak ada aturan khusus dalam penulisan project. untuk langkah langkah selanjutnya silahkan ikuti instruksi instruksi dibawah ini

langkah satu : tambahkan satu button pada form yang telah disiapkan tadi, atur dan tata sedemikian rupa sehingga tampilannya seperti pada gambar dibawah ini

Gambar 1. Preview desain aplikasi

langkah ke dua : Setelah itu double klik pada button tersebut untuk membangkitkan event singe klik pada button satu. silahkan isikan code dibawah ini pada event single clik pada button satu

MySqlConnection db = new MySqlConnection(connectionSQL);db.Open();
MySqlCommand dbcmd = db.CreateCommand();
string sql = "insert into temp3 values (iiiii) ";
dbcmd.CommandText = sql;MySqlDataAdapter sqlAdapter = new MySqlDataAdapter(sql, connectionSQL);
DataSet myDataset = new DataSet();
sqlAdapter.Fill(myDataset);
db.Close();

code diatas adalah source code pada button satu. untuk source lengkapnya pada form satu adalah sebagai berikut ini

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace tryCatch
{
 public partial class Form1 : Form
 {
  string connectionSQL = "server=localhost;database=si_barokah;uid=root;password=;";
  public Form1()
  {
    InitializeComponent();
  }
  private void button1_Click(object sender, EventArgs e)
  {
    MySqlConnection db = new MySqlConnection(connectionSQL);
    db.Open();
    MySqlCommand dbcmd = db.CreateCommand();
    string sql = "insert into temp3 values (iiiii) ";
    dbcmd.CommandText = sql;
  MySqlDataAdapter sqlAdapter = new MySqlDataAdapter(sql, connectionSQL);
    DataSet myDataset = new DataSet();
    sqlAdapter.Fill(myDataset);
    db.Close();
  }
 }
}

langkah ke tiga : Done, Program selesai dibuat. Sekarang jalankan program. jika langkah langkah diatas dilakukan dengan benar, maka saat program dijalankan program tidak mengalami eror, akan tetapi sewaktu  button satu ditekan program mengalami eror. ini dikarenakan service mysql tidak tersedia.

Sekarang coba modifikasi program diatas dengan tambahan code try dan catch. code lengkapnya seperti pada gambar dibawah ini
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace tryCatch
{
    public partial class Form1 : Form
    {
string connectionSQL = "server=localhost;database=si_barokah;uid=root;password=;";
 public Form1()
   {
     InitializeComponent();
   }
private void button1_Click(object sender, EventArgs e)
{
try
{
   MySqlConnection db = new MySqlConnection(connectionSQL);
   db.Open();
   MySqlCommand dbcmd = db.CreateCommand();
   string sql = "insert into temp3 values (iiiii) ";
   dbcmd.CommandText = sql;
 MySqlDataAdapter sqlAdapter = new MySqlDataAdapter(sql, connectionSQL);
   DataSet myDataset = new DataSet();
   sqlAdapter.Fill(myDataset);
   db.Close();}
   catch(Exception kesalahan)
   {
    MessageBox.Show("Telah terjadi kesalahan karena: " + \
    kesalahan);
            }
        }
    }
}

Jika program yang telah di modifikasi ini dijalankan, sewakti button satu ditekan program tidak mengalami error. melainkan akan menampilkan sebuah pesan, dan pesan tersebut berisi tentang kesalahan kesalahan yang terjadi. sehingga program yang dibuat akan stabil

untuk lebih memahahi tentang materi ini silahkan 
download binary filenya  disini dan 
download full projectnya disini.
for more information contact on informasi@csharp-indonesia.com

pandauan download : klik link download yang disediaan diatas, setelah itu akan muncul halaman adf.ly, tunggu beberapa detik sampai pada pojok kanan atas muncul tulisan skip ad. klik tombol tersebut ,setelah itu akan muncul halaman ziddu, silahkan klik pada button download yang muncul pada halaman ziddu
NB : Semua program dalam tutorial ini ditulisa menggunakan IDE Visual studio 2010. dengan target framework 3.5.

Artikel Yang Mirip

4 komentar: