Exception Handling
Jika terjadi kesalahan koding terhadap program yang di buat, akan mudah sekali kita ketahui, yaitu dalam VB .Net akan secara otomatis compiler akan memberikan tanda Berupa garis melengkung mirip cacing pada kode program kita yang salah. Tapi jika error yang terjadi adalah kesalahan dari logika yang kita buat yang hanya akan terdeteksi saat runtime, hal itu kan membuat program kita mengalami break, atau tidak jarang membuat komputer kita hang karena overflow. Untuk mengatasi hal tersebut, kita harus menangkap error untuk diatasi agar tidak terjadi break.
Biasanya kita secara langsung mencegah kemungkinan error yang terjadi dengan menggunakan statement IF.
Seperti Contoh berikut :
Structured Exception Handling
VB .Net memberikan tiga keyword yaitu tyr, catch, finally dalam melakukan exception handling.
Syntax :
Try dan End Try adalah statement yang harus ada, jika tidak, error sintax akan muncul, sedangkan catch dan finally bersifat optional atau boleh ada boleh tidak, meskipun secara logika kta harus memasukkan paling tidak satu Catch exception untuk melakukan handle terhadap error yang mungkin terjadi.
Menangkap sebuah Exception
Untuk menangkap error secara umum yang dihasilkan oleh suatu proses. Tanpa memperhatikan tipe errornya. Kita dapat menggunakan catch pada class Exception seperti di bawah ini :
Catch Ex As Exception
Contoh :
Dim a as integer = 0
Dim b as integer = 0
Dim c as integer = 0
Try
a = b\c
Catch exc as exception
Console.writeline(“A Run-Time error occurred”)
Finally
Console.ReadLine()
End Try
Program diatas, saat kita jalankan maka dilayar akan muncul tulisan “ A Run Time error occured ” karena terjadi error pada block try yaitu error yang terkadi karena pembagian 0 dan block catch dapat menangkap error tersebut.
Menggunakan multiple Catch dengan masing-masing catch menghandle error yang spesifik.
Pada program diatas, terdapat 3 catch exception yang berbeda yaitu devideByzeroExeption (Exception yang muncul karena pembagian 0), Overflowexception (Exception yang muncul karena overflow terhadap tipe data), Exception (exception untuk keseluruhan exception yang mungkin terjadi)
Throw Exception
Selain menangkap error yang mungkin terjadi dengan menggunkan catch kita juga dapat menghandle error yang terjadi dengan melempar / throw exception. Keyword yang digunakan adalah Throw.
Contoh penggunaan throw execption :
Kita akan melakukan validasi terhadap data yang akan dimasukkan dalam sebuah property jika nilai yang dimasukan kurang dari 0 maka akan melempar exception tidak boleh dibawah 0.
Kode Program
Error Provider
Error provider adalah salah satu komponen yang tersedia pada VB.Net untuk memudahkan kita dalam melakukan validasi terhadap kemungkinan error yang terjadi khususnya untuk melakukan validasi pada inputan yang berhubungan dengan user interface. Error provider akan memberikan notify berupa message yang akan ditampilkan pada tooltip dan juga icon untuk memberitahu pada user jika terjadi error.
Method yang sering digunakan untuk menampilkan pesan ke user adalah method SetError, seperti pada contoh :
Misal kita ingin membuah sebuah textbox telepon yang hanya dapat diisi oleh inputan berupa angka dan tidak boleh kosong, dimana erorr divalidasi saat menekan button1.
Langkah yang akan kita lakukan :
- Masukan sebuah textbox dan button dari toolbox pada sebuah form.
- Masukan komponen error provider dari toolbox pada form (dalam sebuah form, walaupun kita akan melakukan validasi terhadap banyak control dalam 1 form, error yang dimasukkan dalam form cukup satu buah saja)
- Buka code editor
- Pada button 1 clik tulis kode program berikut :
Run Program tersebut kemudian tekan button1 tanpa mengetik apapun pada textbox, maka akan tampil seperti gambar berikut :
Untuk melakukan control validate, kita akan menggunakan dua event yang dimiliki oleh control yaitu validate dan validating.
- Validating merupakan event yang digunakan untuk mengecek apakah inputan telah benar.
- Validated merupakan event yang digunakan untuk membersihkan error yang terjadi.
Berikut adalah contoh dari code program untuk pengecekan textbox apakah angka, jika bukan angka maka error provider akan muncul menampilkan pesan kesalahan.
Tidak ada komentar:
Posting Komentar