Python'da Kendi İstisna Türlerini Oluşturma
Python'da varsayılan olarak bulunan istisnalar, her zaman farklı durumlardaki tüm ihtiyaçlarımızı karşılamayabilir. Bu nedenle Python, kendi türünüzde istisnalar oluşturma olanağıyla donatılmıştır.
Bir istisna oluşturmak için, class anahtar kelimesi
kullanılarak özel bir OOP sınıfı bildirilmelidir.
Bunun sağına istisnanın adı yazılır ve adından sonra
parantez içinde - istisna türü belirtilir:
class İstisna(istisna türü):
pass
Hadi, çok uzun listeleri yakalamak için kendi
ToBigLength sınıfımızı oluşturalım. Bu sınıfın
parantezleri içinde, yakalayacağı istisna türünü
yazalım. Bunun Exception istisnası olmasına
izin verelim. Sınıf gövdesinde şimdilik pass
yazabiliriz:
class ToBigLength(Exception):
pass
Hadi, yeni oluşturduğumuz istisnanın çalışmasını
test edelim. Bunun için try-except yapısını
yazalım ve istisnamızı özel raise komutuyla
fırlatalım:
try:
raise ToBigLength
except ToBigLength:
print('error: list is too big')
Kod çalıştıktan sonra şu çıktı alınacak:
'error: list is too big'
Negatif bir sayıyı yakalamak için bir istisna oluşturun.
Sıfırı yakalamak için bir istisna oluşturun.