CodeBlanks Logo Icon CodeBlanks

except tuple

except (A, B) ile tuple istisnayı öğrenirsin.

except tuple ile çoklu tür

Tek bir except bloğunda birden çok hata türünü parantez içinde demet (tuple) olarak yazabilirsin: except (ValueError, TypeError):. Bu blok her iki türü de yakalar; aynı işlemi yapmak istediğinde kısa yoldur.

Demet kullanımı kod tekrarını azaltır. Üç veya daha çok tür için de geçerlidir: except (ValueError, TypeError, KeyError):. Hata nesnesine erişmek istersen as e eklersin; bu, sonraki derste.

Parantez neden önemli?

except ValueError, TypeError: yazımı Python 2'de geçerliydi ama Python 3'te söz dizimi hatasıdır. Parantez zorunludur: except (ValueError, TypeError):. Bu değişiklik, okuma kolaylığı ve tutarlılık içindir.

Parantez olmazsa Python virgülden sonraki bölümü başka bir söz dizimi sanır. Bu yüzden Python 3 kodunda her zaman parantezli demet kullanırsın. Eski Python 2 kodunda parantezsiz biçim görebilirsin; modern Python'da bu çalışmaz.

Uygulama Demet except ile iki türü yakala

Bir try bloğu içinde value = int("abc") çağrısı yap. Altına except (ValueError, TypeError): bloğu ekle ve içine print("Yakalandı") yaz. ValueError eşleşeceği için bu blok çalışır.

Başlangıç kodu

main.py
# try bloğu içinde bir sayı dönüştürmesi dene
# ValueError ve TypeError'ı tek blokta yakala

Örnek çözüm

main.py
# try bloğu içinde int("abc") çağır
try:
    value = int("abc")
# except (ValueError, TypeError): bloğu ile yakala
except (ValueError, TypeError):
    print("Yakalandı")

Beklenen çıktı

Yakalandı

Soru ve cevaplar

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

1 Demet except'i tamamla

Soru
try:
    value = int("x")
except ____:
    print("Hata")
Cevap
try:
    value = int("x")
except (ValueError, TypeError):
    print("Hata")

Açıklama: Çoklu tür except için parantez içinde demet yazılır.

2 except (A, B, C): ne yapar?

  • A, B ve C türlerinden herhangi birini yakalar Doğru cevap
  • Yalnızca A türünü yakalar
  • Üç hatayı sırayla fırlatır
  • Yalnızca son türü yakalar

Açıklama: Demet içindeki herhangi bir tür eşleşirse blok çalışır.

3 except tuple kavramlarını eşleştir

Kavram Anlamı
(A, B) Çoklu tür demeti
parantez Python 3'te zorunlu
ValueError Geçersiz değer
TypeError Yanlış tür

Orta seviye bölümündeki tüm dersler