Funkcija ar izņēmumu Python
Izņēmumus ir ļoti ērti mest, prognozējot tos funkcijās ar nosacījumu palīdzību.
Izveidosim funkciju get_sum,
kas izvadīs saraksta elementu summu
tikai tad, ja saraksta garums ir mazāks
vai vienāds ar 3. Pretējā gadījumā,
lai tiek mests mūsu izņēmums ToBigLength:
def get_sum(lst):
if len(lst) <= 3:
return sum(lst)
else:
raise ToBigLength
Tagad padodam funkcijā get_sum
sarakstu un izvadām funkciju konsolē:
lst = [1, 2, 3, 4]
print(get_sum(lst)) # izvadīs 6
Arī funkcijās var iestatīt vairāku
izņēmumu tipu pārtveršanu. Izveidosim
vēl vienu izņēmumu klasi ToSmallLength:
class ToSmallLength(Exception):
pass
Tagad funkcijā norādīsim nosacījumu, ja
saraksta garums ir vienāds ar nulli, tad lai tiek mests
ToSmallLength. Ja nevienu izņēmumu
netiks noķerts, tad lai tiek izvadīta
visu saraksta elementu summa:
def get_sum(lst):
if len(lst) > 3:
raise ToBigLength
if len(lst) == 0:
raise ToSmallLength
else:
return sum(lst)
Ērtības labad varat ievietot sarakstu, kas
tiks padots funkcijas parametrā,
pašu funkciju un tās izsaukumu try blokā.
Bet mūsu divu izņēmumu pārtveršanu ievietosim
except blokos:
try:
lst = [1, 2, 3]
res = get_sum(lst)
print(res)
except ToBigLength:
print('error 1')
except ToSmallLength:
print('error 2')
Izveidojiet funkciju, kas parametrā
paņems skaitli. Tajā norādiet nosacījumus,
ja skaitlis ir negatīvs un vienāds ar nulli, tad
lai tiek mesti atbilstošie izņēmumi.
pretējā gadījumā lai skaitlis tiek
reizināts ar 3.
Pārbaudiet jūsu izveidotās funkcijas darbību ar
try-except konstrukcijas palīdzību.
Šajā gadījumā arī pārtveriet savus izņēmumus.