Функција са изузетком у Пајтону
Изузетке је веома погодно бацати, прописујући их у функцији користећи услове.
Хајде да направимо функцију get_sum,
која ће израчунавати збир елемената
листе само ако је дужина листе мања
или једнака 3. У супротном,
нека се баци наш изузетак ToBigLength:
def get_sum(lst):
if len(lst) <= 3:
return sum(lst)
else:
raise ToBigLength
Сада проследимо у функцију get_sum
листу и испишимо резултат у конзолу:
lst = [1, 2, 3, 4]
print(get_sum(lst)) # исписаће 6
Такође у функцијама је могуће задати хватање
више типова изузетака. Хајде да
креирамо још једну класу изузетака ToSmallLength:
class ToSmallLength(Exception):
pass
Сада ћемо у функцији прописати услов, ако
је дужина листе једнака нули, нека се баци
ToSmallLength. Ако се ни један изузетак
не ухвати, нека се испише
збир свих елемената листе:
def get_sum(lst):
if len(lst) > 3:
raise ToBigLength
if len(lst) == 0:
raise ToSmallLength
else:
return sum(lst)
Због погодности можемо ставити листу, која
ће се прослећивати као параметар функције,
саму функцију и њен позив у блок try.
А хватање наша два изузетка сместимо
у блокове except:
try:
lst = [1, 2, 3]
res = get_sum(lst)
print(res)
except ToBigLength:
print('error 1')
except ToSmallLength:
print('error 2')
Направите функцију која ће као параметар
примати број. У њој пропишите услове,
ако је број негативан или једнак нули, нека
се баце одговарајући изузеци.
У супротном нека број буде
помножен са 3.
Проверите рад креиране функције
помоћу конструкције try-except. При
томе такође ухватите ваше изузетке.