CodeBlanks Logo Icon CodeBlanks

try/except

try/except ile istisna yakalamayı öğrenirsin.

try/except ile hata yakala

Bir try bloğu içindeki kod hata verebilir; except bloğu bu hatayı yakalar ve program çökmeden devam eder:

try:
    x = int("abc")
except:
    print("Geçersiz giriş")

Burada int("abc") ValueError fırlatır; except bloğu bunu yakalar ve ekrana mesaj yazar. try olmadan program dururdu.

Bu, kullanıcı girdisi ve dosya okuma gibi hata verebilecek işlemlerde standart bir yaklaşımdır.

Belirli hata türü yakalama

Çıplak except: tüm hataları yakalar ama bu tehlikelidir — beklenmedik hataları da gizler. Bunun yerine belirli türü yakalamak daha iyidir:

try:
    x = int("abc")
except ValueError:
    print("Sayı değil")

Burada yalnızca ValueError yakalanır. Başka bir hata (örneğin TypeError) ortaya çıkarsa program yine çöker — bu istenen davranıştır.

Birden çok except bloğu da yazılabilir: her tür için ayrı.

Uygulama ValueError yakala ve mesaj yaz

try bloğu içinde x = int("abc") yaz. except ValueError: bloğu içinde print("hata") yaz.

Başlangıç kodu

main.py
# try bloğu aç
# int dönüşümünü dene
# except ValueError ile yakala

Örnek çözüm

main.py
try:
    x = int("abc")
except ValueError:
    print("hata")

Beklenen çıktı

hata

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 try bloğunda hata olursa ne olur?

  • Program çöker
  • except bloğu çalışır Doğru cevap
  • try bloğu tekrar çalışır
  • Hiçbir şey olmaz

Açıklama: Hata oluştuğunda Python try bloğunu bırakır ve except bloğuna atlar.

2 except anahtar sözcüğünü tamamla

Soru
try:
    x = int("abc")
____:
    print("hata")
Cevap
try:
    x = int("abc")
except:
    print("hata")

Açıklama: except bloğu try içindeki hatayı yakalar.

3 try/except kavramlarını eşleştir

Kavram Anlamı
try Hata verebilecek kod
except Hatayı yakalar
ValueError Belirli hata türü
int("abc") ValueError fırlatır

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