![]() |
Hata kodları - Baskı Önizleme +- AccessTr.neT (https://accesstr.net) +-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html) +--- Forum: Access Dersleri (https://accesstr.net/forum-access-dersleri.html) +--- Konu Başlığı: Hata kodları (/konu-hata-kodlari.html) |
Hata kodları - accessman - 05/02/2010 hata kodları Hata Kodları Lstesi 3-Return without GoSub 5-Invalid procedure call or argument 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 16-Expression too complex 17-Can't perform requested operation 18-User interrupt occurred 20-Resume without error 28-Out of stack space 35-Sub or Function not defined 47-Too many DLL application clients 48-Error in loading DLL 49-Bad DLL calling convention 51-Internal error 52-Bad file name or number 53-File not found 54-Bad file mode 55-File already open 57-Device I/O error 58-File already exists 59-Bad record length 61-Disk full 62-Input past end of file 63-Bad record number 67-Too many files 68-Device unavailable 70-Permission denied 71-Disk not ready 74-Can't rename with different drive 75-Path/File Access error 76-Path not found 91-Object variable or With block variable not set 92-For loop not initialized 93-Invalid pattern string 94-Invalid use of Null 96-Unable to sink events of object because the object is already firing events to the maximum number of event receivers that it supports 97-Can not call friend function on object which is not an instance of defining class 98-A property or method call cannot include a reference to a private object, either as an argument or as a return value 321-Invalid file format 322-Can't create necessary temporary file 325-Invalid format in resource file 380-Invalid property value 381-Invalid property array index 382-Set not supported at runtime 383-Set not supported (read-only property) 385-Need property array index 387-Set not permitted 393-Get not supported at runtime 394-Get not supported (write-only property) 422-Property not found 423-Property or method not found 424-Object required 429-ActiveX component can't create object 430-Class does not support Automation or does not support expected interface 432-File name or class name not found during Automation operation 438-Object doesn't support this property or method 440-Automation error 442-Connection to type library or object library for remote process has been lost. Press OK for dialog to remove reference. 443-Automation object does not have a default value 445-Object doesn't support this action 446-Object doesn't support named arguments 447-Object doesn't support current locale setting 448-Named argument not found 449-Argument not optional 450-Wrong number of arguments or invalid property assignment 451-Property let procedure not defined and property get procedure did not return an object 452-Invalid ordinal 453-Specified DLL function not found 454-Code resource not found 455-Code resource lock error 457-This key is already associated with an element of this collection 458-Variable uses an Automation type not supported in Visual Basic 459-Object or class does not support the set of events 460-Invalid clipboard format 461-Method or data member not found 462-The remote server machine does not exist or is unavailable 463-Class not registered on local machine 481-Invalid picture 482-Printer error 735-Can't save file to TEMP 744-Search text not found 746-Replacements too long 31001 - Out Of Memory 31004 - No Object FONT='Verdana','sans-serif']: HATA DENETİMİ[/font] Ders sonunda yapabilecekleriniz: -Hata denetimini ve araçlarını açıklamak. I. HATA DENETİMİ Hata denetimi (troubleshooting) programda oluşan çalışma zamanı ve diğer kodlama hatalarının tanımlanması (teşhis) ve giderilmesi için yapılan çalışmalardır. Visual Basic, programların yazılması (derlenmesi ve çalıştırılması) sırasında karşılaşılan hatalara karşı geliştirilmiş bir hata bulma ve düzeltme (debugging) 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. A. ÇALIŞMA ZAMANI HATALARININ KONTROLÜ Çalışma zamanı hataları (run-time errors) 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ı (run-time) 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 (GoSub'sız Return) 5 Invalid procedure call (geçersiz procedure çağırması) 6 Overflow (taşma) 7 Out of memory (bellek yetersiz) 9 Subscript out of range (dizi dışı) 10 This array is fixed or temporarily locked (dizi sabit ya da kilitli) 11 Division by zero (sıfıra bölme) 13 Type mismatch (tip uyumsuzluğu) 14 Out of string space (string alanı yetersiz) .. B. ON ERROR DEYİMİ 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 (Division by Zero) 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 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 (Hata Giderme) araç çubuğu gelir: ŞEKİL: DEBUG ARAÇ ÇUBUĞU Debug araç çubuğunun kullanılması için programın kesilmesi gerekir. Kesme (break) 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 A. KESME NOKTASI (TOGGLE BREAKPOİNT) 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. BİLGİ PENCERELERİ (LOCALS WİNDOW, IMMEDİATE WİNDOW VE WATCH WİNDOW) Program kesildikten sonra; Procedure içinde bir değişkenin ya da bir ifadenin seçilerek değerinin ne olduğuna bakılmak istenirse o zaman anlık izleme penceresi (instant watch) kullanılır. Locals Window: Program kesildiğinde bulunulan procedure içinde tanımlanan bütün değişkenlerin değerini verir: Expression sütünunda değişkenlerin adları listelenir. Bütün class modüllerinde buradaki ilk değer <Me> değeridir. Bu değerin üzerine tıklanarak genişletilir. Value sütünunda ise değişkenin değeri görünür. Bu değerin üzerinde çift tıklanarak değişiklik yapılabilir. Immediate Window: Program kesildikten sonra; procedure içinde bir değişkenin ya da bir ifadenin seçilerek değerinin ne olduğuna bakılmak istenirse o zaman anlık izleme penceresi kullanılır. Anlık izleme penceresinde değişkenlerin ya da ifadelerin değerlerini göstermek için (Print) deyimi ya da ? kullanılır. Ayrıca istenirse kod satırından Immediate Window ekranına sürükleme yapılır. Örnek: ? toplam III. UYGULAMA 6 Owerflow ve 13 Type Mismatch (değişken türleriyle ilgili sorunlar) 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 Cvp: Hata kodları - Hayri16 - 05/02/2010 Paylaşım için teşekkürler Sayın accesman Cvp: Hata kodları - benremix - 05/02/2010 Sn accessman bu değerli paylaşım için teşekkürler. Saygılar... Cvp: Hata kodları - elektrikci - 18/01/2011 elinize sağlık |