Özet - Hata yönetimi
- Python kursu
- Başlangıç
- Ders 105/116
- 5 dk
try/except/finally ve özel istisnayı birleştirerek bir banka hesap sınıfı yazarsın.
Özet - Hata yönetimi
Bu grupta beş temel araç öğrendin:
- try/except — hata yakalar
- else/finally — başarı ve temizlik blokları
- raise — hata fırlatır
- Exception hiyerarşisi — BaseException → Exception → alt sınıflar
- Özel istisna — Exception'dan türetilen sınıf
Şimdi bunları bir araya getiren iki kısa görev yapacaksın: birincisi raise ve çoklu except, ikincisi özel istisna tanımlama.
Uygulama raise ve çoklu except
try: bloğu içinde raise TypeError("tür hatası") yaz. except ValueError: bloğu içinde print("değer") yaz. except TypeError: bloğu içinde print("tür") yaz.
Başlangıç kodu
# TypeError fırlat
# ValueError ve TypeError için ayrı except yazÖrnek çözüm
try:
raise TypeError("tür hatası")
except ValueError:
print("değer")
except TypeError:
print("tür")Beklenen çıktı
tür
Uygulama Özel istisna tanımla ve yakala
class UygulamaError(Exception): tanımla, gövdesinde pass yaz. try: bloğu içinde raise UygulamaError("hata oluştu") yaz. except UygulamaError as e: bloğu içinde print(e) yaz.
Başlangıç kodu
# UygulamaError sınıfını Exception'dan türet
# raise ile fırlat, except ile yakalaÖrnek çözüm
class UygulamaError(Exception):
pass
try:
raise UygulamaError("hata oluştu")
except UygulamaError as e:
print(e)Beklenen çıktı
hata oluştu
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Hangisi yanlış?
- except hata yakalar
- else hata olmazsa çalışır
- finally yalnızca hata olursa çalışır Doğru cevap
- raise hata fırlatır
Açıklama: finally her zaman çalışır — hata olsa da olmasa da.
2 Hata yönetimi eşleştir
| Kavram | Anlamı |
|---|---|
try |
Korumalı kod |
except |
Hatayı yakalar |
raise |
Hata fırlatır |
finally |
Her zaman çalışır |