Berbicara mengenai Statement On Error dalam VB6, terdapat tiga syntax error yang mewakili, masing-masing memiliki kegunaan tersendiri, yaitu:
- On Error Resume Next
- On Error Goto Line
- On Error Goto 0
Penjelasan Mengenai On Error Resume Next
Penggunaan On Error Resume Next bertujuan agar sebuah procedure tidak menghandle error pada saat terjadi error dalam tubuh procedure tersebut, dengan kata lain pada saat sebuah line/baris code terjadi error maka ia akan melewati line code yang error tersebut, perhatikan kode di bawah:
Option ExplicitSekarang, bandingkan dengan kode di bawah yang sudah dilengkapi dengan On Error Resume Next
Private Sub Command1_Click()
1: Dim i As Integer 'deklarasi variable i dengan data type integer
2: i = "test" 'error! karena integer tidak dapat di isi dengan string
'program berhenti di sini, fatal error, dan keluar.
3: MsgBox i 'baris ini tidak pernah dijalankan (eksekusi)
End Sub
Option Explicit
Private Sub Command1_Click()
1: On Error Resume Next 'lewati baris error, jika ada
2: Dim i As Integer 'deklarasi variable i dengan data type integer
3: i = "test" 'error! karena integer tidak dapat di isi dengan string
'program dilanjutkan dengan melewati baris yang ke-3:
4: MsgBox i 'baris ini akan dijalankan
End Sub
Penjelasan Mengenai On Error Goto Line
On Error Goto Line kegunaannya untuk menghandle error/melewati error dengan cara melewatinya dan menuju pada baris yang dituju.
Option Explicit
Private Sub Command1_Click()
1: On Error GoTo ErrHandler 'apabila error maka loncat ke ErrHandler:
2: Dim i As Integer 'deklarasi variable i dengan data type integer
3: i = "test" 'error! karena integer tidak dapat di isi dengan string
4: MsgBox i 'akan dilewati, dan loncat ke ErrHandler:
5: Exit Sub
ErrHandler:
6: MsgBox Err.Description 'line ini akan dijalankan
End Sub
Penjelasaan Mengenai On Error GoTo 0
On error goto 0 kegunaannya untuk menggagalkan handle error.
Option Explicit
Private Sub Command1_Click()
1: On Error GoTo ErrHandler 'lewati baris error, jika ada
2: Dim i As Integer 'deklarasi variable i dengan data type integer
3: On Error GoTo 0 'menggagalkan ErrHandler di atas
4: i = "test" 'error! karena integer tidak dapat di isi dengan string
5: MsgBox i 'akan dijalankan
6: Exit Sub
ErrHandler:
7: MsgBox Err.Description 'baris ini tidak akan dijalankan
End Sub