Python'da İstisna Atan Fonksiyon

İstisnaları, fonksiyonlar içinde koşullar kullanarak belirlemek ve atmak oldukça kullanışlıdır.

Hadi, bir get_sum fonksiyonu yapalım. Bu fonksiyon, listenin uzunluğu 3'ten küçük veya eşit olduğunda sadece liste elemanlarının toplamını versin. Aksi takdirde, kendi ToBigLength istisnamız atılsın:

pythondef get_sum(lst):
  if len(lst) <= 3:
    return sum(lst)
  else:
    raise ToBigLength

Şimdi get_sum fonksiyonuna bir liste geçirelim ve fonksiyonu konsola yazdıralım:

pythonlst = [1, 2, 3, 4]

print(get_sum(lst)) # 6 yazdıracak

Ayrıca fonksiyonlarda birden fazla istisna tipini yakalamak da mümkündür. Hadi bir istisna sınıfı daha oluşturalım: ToSmallLength:

pythonclass ToSmallLength(Exception):
  pass

Şimdi fonksiyonda, eğer listenin uzunluğu sıfıra eşitse, ToSmallLength atılsın. Eğer hiçbir istisna yakalanmazsa, listenin tüm elemanlarının toplamı verilsin:

pythondef get_sum(lst):
  if len(lst) > 3:
    raise ToBigLength
  if len(lst) == 0:
    raise ToSmallLength
  else:
    return sum(lst)

Pratiklik için, fonksiyon parametresine geçirilecek listeyi, fonksiyonun kendisini ve onun çağrısını bir try bloğu içine alabiliriz. İki istisnamızın yakalanmasını ise except bloklarında yerleştirebiliriz:

pythontry:
  lst = [1, 2, 3]
  res = get_sum(lst)
  print(res)
except ToBigLength:
  print('error 1')
except ToSmallLength:
  print('error 2')
Задание 1

Bir sayıyı parametre olarak alan bir fonksiyon oluşturun. İçinde, eğer sayı negatifse veya sıfıra eşitse, ilgili istisnaların atılması için koşullar yazın. Aksi durumda sayı 3 ile çarpılsın.

Задание 2

Oluşturduğunuz fonksiyonun çalışmasını try-except yapısı ile test edin. Bu sırada istisnalarınızı da yakalayın.