Ders Notu
Hata Türleri
Program yazarları yazdıkları programların kullanıcı tarafından nasıl kullanılmasını istiyorsa öyle kullanılacağını varsayar ancak çoğu zaman işler bu şekilde yürümez. Kullanıcından sayı beklerken harf ya da belirli bir aralıkta değer girmesini beklerken kapsam dışı bir veri girdiği durumlarla sıklıkla karşılaşılır.
sayi = "a"
kare = int(sayi) ** 2
print(sayi, "sayısının karesi: ", kare)
Ekran Çıktısı:
ValueError: invalid literal for int() with base 10: 'a'
Böylesi durumlarda programların hata vermeleri son derece normaldir. Bu hata mesajı da programcılar açısından anlamlı olabilir ancak son kullanıcı açısından oldukça karmaşıktır. Burada bir program yazarının görevi, yazılan programın çalışma sırasında vermesi muhtemel hataları önceden kestirip, programında buna göre bazı önlemler almasıdır.
Python'da üç farklı hata tipi vardır:
- Programcı Hataları (Error)
- Program Kusurları (Bug)
- İstisnalar (Exception)
1. Programcı Hataları (Error)
Programcı hataları, programlama diline ilişkin bir özelliğin yanlış kullanımından veya en basit şekilde programcının yaptığı yazım hatalarından kaynaklanır. Programcının hataları genellikle SyntaxError şeklinde ortaya çıkar. Bu hatalar çoğunlukla programcı tarafından farkedilir ve program kullanıcıya ulaşmadan önce programcı tarafından düzeltilir. Bu tür hataların tespiti diğer hatalara kıyasla kolaydır. Çünkü bu tür hatalar programınızın çalışmasını engellediği için bunları farketmemek pek mümkün değildir.
2. Program Kusurları (Bug)
Program kusurları, başka bir deyişle bug’lar ise çok daha karmaşıktır. Kusurlu programlar çoğu zaman herhangi bir hata vermeden çalışır. Ancak programın ürettiği çıktılar beklediğiniz gibi değildir. Örneğin yazdığınız programda bir formül hatası yapmış olabilirsiniz. Bu durumda programınız hiçbir şey yokmuş gibi çalışır, ancak formül hatalı olduğu için hesaplamaların sonuçları yanlıştır.
3. İstisnalar (Exception)
İstisnalar, adından da az çok anlaşılacağı gibi, bir programın çalışması sırasında ortaya çıkan, normalden farklı, istisnai durumlardır. Kullanıcının beklenmeyen türde veriler girmesi yazılan programların exception (istisna) üretmesine yol açar.