I. Hata Denetimi Hata denetimi programda oluşan çalışma zamanı ve diğer kodlama hatalarının tanımlanması ve giderilmesi için yapılan çalışmalardır. Visual Basic programların yazılması sırasında karşılaşılan hatalara karşı geliştirilmiş bir hata bulma ve düzeltme olanağına sahiptir. Programın çalıştırılması sırasında kendisinden kaynaklanan bir hata varsa hata bildirilir. Bunun dışında çalışma zamanı hataları ise programın çalışması sırasında beklenmeyen bir durum sonucu oluşur. Örneğin okunacak dosyanın olmaması gibi. Bu durumda program hata verir. İşte bu durumlara karşı alınan önlemlere hata denetimi denir.

Iv. Gözden Geçirme 1. Programınızda daha az hata ile karşılaşmak için neler yaparsınız? 2. Çalışma zamanı hatalarına karşı neler yapılır? Açıklayın. 3. Resume deyiminin görevi ve parametreleri nelerdir? 4. Err nesnesinin görevi ve metotları nelerdir?

Ders sonunda yapabilecekleriniz: -Hata denetimini ve araçlarını açıklamak.

A. Kesme Noktasi Programın bir yerine gelip durmasını istiyorsunuz. Ve o aşamada değerleri kontrol edeceksiniz. İşte bu olanağı size kesme noktası sağlar. Kod içinde kesme noktası ile işaretlenen satır işletilmeden önce program durur. Kesme noktası genellikle programı belli bir yerde durdurup o aşamada bazı değişkenlerin değerlerinin kontrol edilmesini sağlar. Bu işlem için araç çubuğundaki Toogle BreakPoint düğmesi kullanılır. Tekran tıklanarak kesme noktası kaldırılır.

B. On Error Deyimi Hata oluşumunda; mesaj vermek ve programın kontrolünü sağlamak için belli bir program parçasının işletilmesini sağlanabilir. Bu işlem için hata kontrolüyle ilgili olarak bir program bloğunun yazılmasını sağlanır. Yapısı: On Error GoTo satır On Error Resume Next On Error GoTo 0 On Error deyiminin parametreleri şunlardır: Parametre Açıklama Go To 0 Procedure'daki hata kontrolünü iptal eder. GoTo satır / etiket Hata kontrolü satırının belirtilen satırdan ya da etiketten başlatılmasını sağlar. Resume Next Hatanın ardından programın bir sonraki deyimi işleyerek programı çalıştırmayı sürdürmesini sağlar. Eğer programcı programında bir On Error deyimi kullanmaz ve olası hataları kontrol altına almazsa; hata oluştuğunda program çalışma zamanı içinde hatayı verir ve kesilir. Program içinde bir hata denetimi yapılırsa; hata oluştuğu anda program kontrolü hata kontrolü kısmına atlar. Hata denetimi; Resume Exit Sub ya da Exit komutuna kadar aktif kalır. Hata denetiminin ardından hatanın tanımlanması için Err nesnesinin Number özelliği kullanılır. Örnek : Sıfıra bölünme hatalarına karşı tuzak Aşağıdaki örnekte OnError ile 11 hatası kontrol edilmektedir: Sub Button1_Click On Error GoTo HataKontrol A = 15 B = 0 Sunuc = A / B Exit Sub 'burada programa son verilir. HataKontrol: Select Case Err. Number Case 11: Mesaj = "Sıfıra bölünme hatası oluştu!!!" End Select MsgBox Mesaj Resume Next End Sub NOT: Bu dokümanlar Faruk Çubukçu tarafından hazırlanmıştır. Burada adı geçen ticari ünvanlar ve markalar bilgi amaçlı kullanılmışlardır ve kendi imtiyazlarına sahiptirler. Bu dokümanlar ticari amaçlı olarak kullanılmaz. Daha fazla bilgi için www.farukcubukcu.com adresine bakınız.

B. Bilgi Pencereleri 6 Owerflow ve 13 Type Mismatch hataları üzerine bir hata kontrolü satırı yazın: Örnek: On Error GoTo HataKontrol... HataKontrol: Select Case Err. Number Case 6: Mesaj = "Bellek dolu!!!" End Select MsgBox Mesaj Resume Next

A. çalişma Zamani Hatalarinin Kontrolü Çalışma zamanı hataları programın çalışması sırasında oluşan hatalardır. Program hazırlanmış ve kullanıcıya sunulmuştur. Örneğin programın çalışması sırasında belleğin dolması ya da bir hesaplamada sıfıra bölüm sonucu değer oluşmaması gibi durumlar birer çalışma zamanı hatasıdır. Çalışma zamanı hatalarına karşı herhangi bir önlem alınmazsa program hata verir ve kesilir. Diğer bir açıdan; bu durum kullanıcılar karşısında düşülebilecek en kötü durumlardan birisidir. Bu nedenle çalışma zamanı hatalarına karşı belli önlemler daha önceden alınmalıdır. Bu hatalar 1-1000 arasında hata kodu döndürürler. Bu hata kodları On Error deyimi ve Err nesnesi ile birlikte ele alınarak hataların değerlendirilmesi ve programın uygun biçimde yönlendirilmesi sağlanır. Tablo: Kontrol edilebilir bazı hatalar Kod Mesaj 3 Return without GoSub 5 Invalid procedure call 6 Overflow 7 Out of memory 9 Subscript out of range 10 This array is fixed or temporarily locked 11 Division by zero 13 Type mismatch 14 Out of string space

Ii. Hata Düzeltme Araçlari Bir Visual Basic programı geliştirirken ya da programın çalışması sırasında bir hata ile kesilmesinden sonra hatanın bulunması ve giderilmesi için belli araçlar kullanılır. Bunların başında Debug araç çubuğu gelir: Debug araç çubuğunun kullanılması için programın kesilmesi gerekir. Kesme işlemi hata sonucunda ya da manuel olarak da yapılabilir: Programın kesilmesi ya da Break düğmesine tıklanarak program debug moda alınır. İşte bu durumda programcı Visual Basic hata giderme araçlarını kullanır