Hata Türleri: IndexError ve KeyError
- IndexError: Bu hata, bir liste ya da başka bir sıralı veri yapısında var olmayan bir indekse erişmeye çalıştığınızda karşınıza çıkar. Örneğin, bir listenin 5. elemanına erişmeye çalışırken, listenin 3 elemandan oluştuğunu fark ettiğinizde, Python sizi uyaracaktır.
- KeyError: Bu hata, bir sözlükte var olmayan bir anahtara erişmeye çalıştığınızda meydana gelir. Yani, sözlükte olmadığını bildiğiniz bir anahtara göz atmaya çalıştığınızda Python, sizi uyarmak için KeyError hatasını verir.
Örneklerle Anlama
# IndexError Örneği:
liste = [1, 2, 3]
# Yanlış indeksle eleman erişimi
print(liste[5]) # Burada IndexError hatası alırsınız çünkü listede 5. indeks yok
Bu kodu çalıştırdığınızda Python size şu hatayı verecektir:
```
IndexError: list index out of range
```
# KeyError Örneği:
sozluk = {"ad": "Ahmet", "soyad": "Yılmaz"}
# Yanlış anahtarla değer erişimi
print(sozluk["yaş"]) # Burada KeyError hatası alırsınız çünkü "yaş" anahtarı yok
Bu durumda Python şu hatayı verir:
```
KeyError: 'yaş'
```
Ne Zaman Hangisini Kullanmalısınız?
Hata Yakalama ve Yönetimi
# IndexError için try-except:
try:
print(liste[5])
except IndexError:
print("IndexError: Liste dışı bir indekse erişim yapıldı!")
# KeyError için try-except:
try:
print(sozluk["yaş"])
except KeyError:
print("KeyError: Bu anahtar sözlükte bulunamadı!")
En İyi Uygulamalar ve İpuçları
- KeyError hatası, sözlüklerde çalışırken sıklıkla karşılaşılan bir hatadır. Sözlük anahtarlarının olup olmadığını kontrol etmek veya `get()` metodunu kullanmak, bu hatayı ortadan kaldırabilir.
Sonuç
Başka bir yazıda görüşmek üzere, kodlarınızda başarılar!