Excel Formül
Modül 7: İleri Düzey Uygulamalar ve Gerçek Hayat Senaryoları

VBA ile Kullanıcı Tanımlı Hata Mesajları ve Loglama

Profesyonel bir makro kodunda kullanıcı yanlış bir işlem yaptığında veya sistemde hata oluştuğunda programın aniden çökmesi yerine, kontrollü bir şekilde hata yakalanmalı (On Error GoTo) ve hem kullanıcıya Türkçe anlaşılır bir uyarı verilmeli hem de hata detayları log sayfasına kaydedilmelidir.

Err Nesnesi ile Hata Yönetimi Nasıl Kurulur?

Err.Number ve Err.Description özellikleri ile oluşan hatanın kodu ve açıklaması anlık olarak yakalanarak raporlanabilir.

Örnek Hata Yakalama ve Loglama Kalıbı

Sub VeriIslemi()
    On Error GoTo HataKalkani
    ' Riskli işlemler burada yapılır
    Exit Sub

HataKalkani:
    MsgBox "İşlem sırasında hata oluştu: " & Err.Description, vbCritical
    ' Hatayı log sayfasına kaydet
    Sheets("HataLog").Range("A2").Value = Err.Description
End Sub

Canlı Simülatör: Hata Yakalama ve Loglama Testi

Aşağıdaki simülasyon, makroda oluşabilecek örnek bir hatayı yakalayıp log sayfasına işleyecek ve kullanıcıya uyarı verecektir. Hatalı İşlemi Tetikle butonuna basın.

Visual Basic Editörü
Module1 (Error Handler)
Sub HataTesti()
    On Error GoTo HataKalkani
    ' Hatalı işlem simülasyonu (Dosya Bulunamadı)
    Err.Raise 53, , "Dosya bulunamadı: Rapor.xlsx"

HataKalkani:
    Range("A1").Value = "Hata Logu: Dosya bulunamadı: Rapor.xlsx"
    MsgBox "Beklenmeyen hata loglandı!", vbCritical
End Sub
Canlı Hata Log Sayfası
A1
A (Hata Log Kayıtları)
1
Microsoft Excel ✕
Beklenmeyen hata loglandı! (Dosya bulunamadı)