Funksioni me Përjashtim në Python

Përjashtimet janë shumë të përshtatshme për t'u hedhur, duke i përshkruar ato në funksione me ndihmën e kushteve.

Le të bëjmë një funksion get_sum, që do të nxjerrë shumën e elementeve të listës vetëm nëse gjatësia e listës është më e vogël ose e barabartë me 3. Përndryshe, le të hidhet përjashtimi ynë ToBigLength:

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

Tani le t'i kalojmë funksionit get_sum listën dhe të shfaqim funksionin në konsolë:

pythonlst = [1, 2, 3, 4]

print(get_sum(lst)) # do të shfaqë 6

Gjithashtu, në funksione mund të përcaktohet kapja e disa llojeve të përjashtimeve. Le të krijojmë edhe një klasë tjetër përjashtimesh ToSmallLength:

pythonclass ToSmallLength(Exception):
  pass

Tani le të përshkruajmë në funksion kushtin: nëse gjatësia e listës është e barabartë me zero, le të hidhet ToSmallLength. Nëse nuk kapet asnjë përjashtim, atëherë le të shfaqet shuma e të gjithë elementëve të listës:

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

Për lehtësi, lista që do të kalohet në parametrin e funksionit, vetë funksioni dhe thirrja e tij mund të vendosen në bllokun try. Kapen e dy përjashtimeve tona do t'i vendosim në blloqet except:

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

Krijoni një funksion që si parametër do të pranojë një numër. Në të përshkruani kushtet: nëse numri është negativ dhe i barabartë me zero, le të hidhen përjashtimet përkatëse. përndryshe le të shumëzohet numri me 3.

Задание 2

Kontrolloni funksionin e krijuar nga ju me ndihmën e konstruksionit try-except. Në këtë rast, kapni gjithashtu përjashtimet tuaja.