Wednesday, June 20, 2012

Cara Yang Cerdik Untuk Mentrap On Error Resume Next - VB6

Mengenai cara men-trap (menjebak) objek error yang berada di bawah bari On Error Resume Next - Bagaimana kita dapat melakukan sebuah pengecualian dalam baris yang berada di bawah On Error Resume Next, di bawah adalah contoh kode VB6 beserta penjelasannya:
Option Explicit

Private Sub Command1_Click()
'Baris pertama kita memasang On Error Resume Next, maksudnya
'kita memberitahukan pada compiler VB6 untuk melangkahi baris error
'dan mengeksekusi baris berikutnya tanpa harus menampilkan pesan error
On Error Resume Next

'Selanjutnya kita mamasang satu variable i (catatan: variable satu huruf
'seperti i, b, j dan selanjutnya, hanya bisa digunakan pada sebuah jangkah (scope)
'yang sempit, dan jangan pernah menggunakannya pada scope yang luas seperti
'Public i as Integer dan variable i berada pada module, Global l as long, dst
Dim i As Integer

'Dengan adanya On Error Resume Next di atas, maka kode di bawah ini akan
'diabaikan/dilangkahi oleh compiler VB6. Selanjutnya pesan error tidak akan
'ditampilkan
i = "Hai, ini pasti error"

'Walaupun kita telah memasang baris On Error Resume Next, bukan berarti
'Bukan berarti Error Object tidak, Error Object tetap bekerja sebagaimana
'biasanya
If Err Then 'Apabila Error = True a.k.a Err.Number > 0 maka ...
'Kode trap ...
MsgBox Err.Description
'Kode trap ...
End If

'Baris di bawah akan meng-Clear error
On Error GoTo 0

'Sekarang lihat hasilnya
MsgBox Err.Description
End Sub
Kode utuh tanpa keterangan (comment) adalah sebagai berikut:
Option Explicit

Private Sub Command1_Click()
On Error Resume Next
Dim i As Integer
i = "Hai, ini pasti error"
If Err Then
MsgBox Err.Description
End If
On Error GoTo 0
MsgBox Err.Description
End Sub