except tuple
- Python kursu
- Orta seviye
- Ders 83/116
- 5 dk
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
# try bloğu içinde bir sayı dönüştürmesi dene
# ValueError ve TypeError'ı tek blokta yakalaÖrnek çözüm
# 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
try:
value = int("x")
except ____:
print("Hata")
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 |