İstisnalar da birer sınıftır

Fırat özgül’ün en son 2015 tarihinde güncellediği python3 resmi kılavuzunda istisnalar da birer sınıftır diye bir konu var. Bu konuda şöyle örnekler verilmiş:

raise sınıf
raise örnek


class B(Exception):
    pass
class C(B):
    pass
class D(C): 
    pass 
for snf in [B, C, D]: 
    try:
        raise snf() 
    except D: 
        print("D") 
    except C: 
        print("C")
    except B: 
        print("B")

raise deyimine sınıfı ya da örneği yazınca ne oluyor tam anlayamadım. Bilgisayarım yanımda olmadığı için deneyemiyorum.

Ekleme:
Bu kitabın linki: https://turkhack.club/pdf/python-istihza-2015.pdf
(Birde yazarken girinti hatası yapmış olabilirim copy-paste yapınca bozuk çıktı)

İkisi de aynı şey. Sadece; bir veri tutmak isterseniz ya da istisna sınıfı bir argümanı zorunlu kılıyorsa, nesne kullanmanız gerek.

1 Beğeni