Skip to main content

AccessTr.neT


Hata kodları

accessman
accessman
3
9904

Hata kodları

#1
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
@benbendedeilem
Son Düzenleme: 05/02/2010, 02:06, Düzenleyen: accessman.
Cevapla
#2
Paylaşım için teşekkürler Sayın accesman
Hayri16, 12-11-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#3
Sn accessman bu değerli paylaşım için teşekkürler. Saygılar...
Bilgi paylaşıldıkça çoğalır....
Her engel, yaşam koşullarınızı daha iyileştirecek bir fırsattır.


Access için her zaman lazım olacak konu başlıkları listesi


Cevapla
#4
elinize sağlık
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da