hata yakalama ne demek?
Hata Yakalama (Error Handling)
Hata yakalama, bir programın çalışma zamanında meydana gelen hataları tespit etme, ele alma ve bu hatalardan kurtulma sürecidir. Amaç, uygulamanın çökmesini engellemek, kullanıcıya anlamlı geri bildirimler sunmak ve hataların nedenlerini belirleyerek düzeltilmesini sağlamaktır.
Temel Amaçlar:
- Programın Kararlılığını Sağlamak: Hata durumlarında uygulamanın aniden kapanmasını önlemek.
- Kullanıcı Deneyimini İyileştirmek: Belirsiz hatalar yerine, kullanıcıya yardımcı olacak bilgilendirici mesajlar göstermek.
- Hata Ayıklama ve Geliştirme: Hataların kaynağını belirlemek ve gelecekteki hataları önlemek için bilgi toplamak.
Hata Türleri:
- Sözdizimi Hataları (Syntax Errors): Programlama dilinin kurallarına uyulmadığında ortaya çıkar. Genellikle derleme veya yorumlama aşamasında tespit edilir. Örneğin, eksik parantez veya yanlış yazılmış bir anahtar kelime.
- Çalışma Zamanı Hataları (Runtime Errors): Program çalışırken ortaya çıkan hatalardır. Örneğin, sıfıra bölme, geçersiz bellek erişimi veya dosya bulunamadı hatası.
- Mantıksal Hatalar (Logical Errors): Programın beklenen sonucu üretmesini engelleyen hatalardır. Program sözdizimsel olarak doğru olsa da, mantıksal bir hata nedeniyle yanlış sonuçlar verebilir. Örneğin, yanlış bir formül kullanmak.
Hata Yakalama Teknikleri:
- Try-Catch Blokları: Bir kod bloğunda hata oluşma ihtimali varsa, bu blok "try" bloğu içine alınır. Hata oluştuğunda "catch" bloğu devreye girer ve hatayı ele alır. Çoğu programlama dilinde bulunur.
- Hata Kodları: Fonksiyonlar veya metotlar, işlem başarılıysa farklı bir değer, hata oluştuysa bir hata kodu döndürebilirler. Çağıran kod, döndürülen değeri kontrol ederek hatayı ele alabilir.
- Assertion'lar: Programın belirli bir noktasında, belirli bir koşulun doğru olmasını bekler. Koşul sağlanmazsa, program bir hata mesajı verir ve durur. Genellikle geliştirme ve test aşamalarında kullanılır.
- Logging: Uygulamanın çalışması sırasında meydana gelen olayları ve hataları kaydetmek. Bu kayıtlar, hataların nedenlerini analiz etmek ve gelecekteki hataları önlemek için kullanılabilir.
Önemli Kavramlar: