27 05 2007

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 &amp; vbCrLf & "MESAJLARI"
End Sub

Hata Yönetimi

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