Tuesday, May 29, 2012

On Error Resume Next, On Error GoTo Line, On Error GoTo 0

Kalau boleh dikatakan, hampir tidak ada di dunia ini software yang tidak memiliki error. Hampir seluruhnya memiliki error. Hanya permasalahannya, bagaimana software tersebut dapat menangani error, seberapa baik ia dapat menangani error. Penanganan error, dalam pemrograman VB6 disebut juga handle error.

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
Baiklah, sekarang kita akan menjelaskan masing-masing kegunaan tiga yang di atas.

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 Explicit 

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
Sekarang, bandingkan dengan kode di bawah yang sudah dilengkapi dengan On Error Resume Next
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