Showing posts with label Error-Handling. Show all posts
Showing posts with label Error-Handling. Show all posts

Sunday, June 17, 2012

Cara Membuat Generic Handler Error

Option Explicit

Private Sub Form_Load()
On Error GoTo FormLoadErr
Err.Raise 76
Err.Raise 70
Exit Sub

FormLoadErr:
Select Case Err.Number
Case 76
MsgBox "Form_Load Error Handler. Form Does Not Exist"
Case Else
AppWideErr (Err.Number)
End Select
End Sub

Private Sub Command1_Click()
On Error GoTo Cmd1Err
Err.Raise 53
Err.Raise 70
Exit Sub

Cmd1Err:
Select Case Err.Number
Case 53
MsgBox "Command 1 Error Handler"
Case Else
AppWideErr (Err.Number)
End Select
Resume Next
End Sub

Private Sub Command2_Click()
Form2.Show
End Sub

Private Sub Command1_Click()
On Error GoTo ThisSubErr
Err.Raise 17
Exit Sub
ThisSubErr:
AppWideErr (Err.Number)
End Sub

Public Sub AppWideErr(lnErrNumber)
Select Case lnErrNumber
Case 70
MsgBox "Generic Routine. Access Denied. See Net Administrator.", , "AppWideErr"
Exit Sub
Case Else
MsgBox "Generic Routine. Unhandled Error: " + Err.Description + " # " & lnErrNumber, , "AppWideErr"
Exit Sub
End Select
End Sub
READ MORE - Cara Membuat Generic Handler Error

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


READ MORE - On Error Resume Next, On Error GoTo Line, On Error GoTo 0

VB6 Crash Pada Saat Keluar, Cara Mengatasinya?

Pernahkan Anda mengalami crash..entahlah. Pernahkah aplikasi VB6 Anda mengalami crash pada saat keluar? Padahal Anda sudah memastikan VB6 yang sedang Anda gunakan tidak sedang terinfeksi malware. Bahkan pada saat hanya membuka VB6 dan menutupnya kembali tanpa melakukan apa-apa (mis. me-load project) VB6 tetap saja crash, apakah penyebabnya?

Ikuti langkah-langkah berikut ini:
  • Klik menu Add-Ins >> Add-Ins Manager...
  • Tutuplah seluruh aplikasi Add-Ins yang sedang berjalan dengan cara menghilangkan tanda centang pada Loaded/Unloaded, Load on Startup, dan Command Line.
  • Sekarang tutuplah aplikasi VB6. Apakah masih crash?
READ MORE - VB6 Crash Pada Saat Keluar, Cara Mengatasinya?