CodeBlanks Logo Icon CodeBlanks

Özet - Hata yönetimi

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

main.py
# TypeError fırlat
# ValueError ve TypeError için ayrı except yaz

Örnek çözüm

main.py
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

main.py
# UygulamaError sınıfını Exception'dan türet
# raise ile fırlat, except ile yakala

Örnek çözüm

main.py
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

Başlangıç bölümündeki tüm dersler