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:
def 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ë:
lst = [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:
class 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:
def 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:
try:
lst = [1, 2, 3]
res = get_sum(lst)
print(res)
except ToBigLength:
print('error 1')
except ToSmallLength:
print('error 2')
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.
Kontrolloni funksionin e krijuar nga ju
me ndihmën e konstruksionit try-except. Në
këtë rast, kapni gjithashtu përjashtimet tuaja.