CodeBlanks Logo Icon CodeBlanks

except as

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

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

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

Soru
except ValueError ____ e:
    print(e)
Cevap
except ValueError as e:
    print(e)

Açıklama: as e ile hata nesnesi e'ye bağlanır.

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