except as
- Python kursu
- Orta seviye
- Ders 85/116
- 5 dk
except E as e ile istisna nesnesini öğrenirsin.
except ... as ile nesne erişimi
Yakalanan hatayı bir değişkene bağlamak için except ValueError as e: yazarsın. e değişkeni hata nesnesini tutar; str(e) ile hata iletisini, type(e).__name__ ile tür adını alabilirsin.
Bu erişim, kullanıcıya anlamlı mesaj göstermek için gerekir. Örneğin print("Hata:", e) çağrısı hatanın ne olduğunu yazdırır. Hata nesnesi üzerinde .args gibi özellikler de var; bu, hatanın parametrelerini bir demet olarak verir.
Uygulama Hata nesnesini e'ye bağla ve yazdır
Bir try bloğu içinde value = int("abc") çağrısı yap. except ValueError as e: bloğunda print("Hata:", e) yaz. Hata iletisi ekrana gelir.
Başlangıç kodu
# try bloğu içinde bir sayı dönüştürmesi dene
# hatayı e değişkenine bağla ve yazdırÖrnek çözüm
# try bloğu içinde int("abc") çağır
try:
value = int("abc")
# except ValueError as e: bloğunda hatayı yazdır
except ValueError as e:
print("Hata:", e)Beklenen çıktı
Hata: invalid literal for int() with base 10: 'abc'
e üzerinde özellikler
Hata nesnesinin e.args özelliği, hatanın parametrelerini bir demet olarak verir. str(e) bu parametreleri birleştirip okunaklı bir ileti yapar. type(e).__name__ ise hata sınıfının adını verir.
Bu özellikler hata günlüğü tutarken yararlıdır. Örneğin type(e).__name__ ile hatanın türünü, str(e) ile iletisini, e.args ile parametrelerini kaydedebilirsin. Bu, hata ayıklama sürecini hızlandırır.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 except ValueError as e'de e nedir?
- Hata türü adı
- Hata nesnesinin kendisi Doğru cevap
- Hatayı fırlatan satır numarası
- Hata iletisi dizesi
Açıklama: Seçim yanlış. Doğru cevap: hata nesnesinin kendisi. e bir ValueError örneğidir; str(e) ile iletisi alınır.
2 Hata nesnesi özelliklerini eşleştir
| Kavram | Anlamı |
|---|---|
as e |
Nesneyi e'ye bağlar |
str(e) |
Hata iletisi |
type(e).__name__ |
Tür adı |
e.args |
Parametre demeti |
3 as e bağlacını tamamla
except ValueError ____ e:
print(e)
except ValueError as e:
print(e)
Açıklama: as e ile hata nesnesi e'ye bağlanır.