Hata Çeşitleri
Yazılış hataları
İşleyiş hataları
Mantık hataları
On Error Resume Next : Hata oluşması durumunda işleme devam edilir
On Error Goto Etiket : Hata oluşması durumunda etiket ile belirtilen işlemler yapılır
On Error Goto 0 : Hata kontrolü iptal edilir
Err.Number : Oluşan hatanın tanımlama numarasını verir
CVErr : Hata numarasını Error tipinde Variant olarak döndürür
IsError : Değişkenin bir variant yada Error olup olmadığını denetler
Private Sub Form_Click()
On Error GoTo Hata_Var
....
Picture1.Picture = LoadPicture("olmayan.bmp")
....
Hata_Var:
MsgBox (Err.Number)
If Err.Number = 53 Then
MsgBox "Gerekli Dosya Bulunamadı."
End If
End Sub
Function Hesap()
On error goto hata:
...
hata:
If Err.Number <> 0 then
Hesap = CVErr() ‘ CVErr fonksiyonu
End If
End Function
Deger=Hesap()
If IsError(Deger) Then ‘ IsError fonksiyonu
....
End If
Hata Mesajlarının Listesini Almak
Private Sub Command1_Click()
List1.Clear
Dim ErCode As Long
Dim ErDesc As String
Dim FatalEr As String
FatalEr = Error(1)
For ErCode = 3 To 750
If Error(ErCode) <> FatalEr Then
ErDesc = Format$(ErCode) & " " & Error(ErCode)
List1.AddItem ErDesc
End If
Next ErCode
End Sub
Private Sub Form_Load()
Command1.Caption = "HATA" & vbCrLf & vbCrLf & "MESAJLARI"
End Sub
Yazılış hataları
İşleyiş hataları
Mantık hataları
On Error Resume Next : Hata oluşması durumunda işleme devam edilir
On Error Goto Etiket : Hata oluşması durumunda etiket ile belirtilen işlemler yapılır
On Error Goto 0 : Hata kontrolü iptal edilir
Err.Number : Oluşan hatanın tanımlama numarasını verir
CVErr : Hata numarasını Error tipinde Variant olarak döndürür
IsError : Değişkenin bir variant yada Error olup olmadığını denetler
Private Sub Form_Click()
On Error GoTo Hata_Var
....
Picture1.Picture = LoadPicture("olmayan.bmp")
....
Hata_Var:
MsgBox (Err.Number)
If Err.Number = 53 Then
MsgBox "Gerekli Dosya Bulunamadı."
End If
End Sub
Function Hesap()
On error goto hata:
...
hata:
If Err.Number <> 0 then
Hesap = CVErr() ‘ CVErr fonksiyonu
End If
End Function
Deger=Hesap()
If IsError(Deger) Then ‘ IsError fonksiyonu
....
End If
Hata Mesajlarının Listesini Almak
Private Sub Command1_Click()
List1.Clear
Dim ErCode As Long
Dim ErDesc As String
Dim FatalEr As String
FatalEr = Error(1)
For ErCode = 3 To 750
If Error(ErCode) <> FatalEr Then
ErDesc = Format$(ErCode) & " " & Error(ErCode)
List1.AddItem ErDesc
End If
Next ErCode
End Sub
Private Sub Form_Load()
Command1.Caption = "HATA" & vbCrLf & vbCrLf & "MESAJLARI"
End Sub
