Python-ում բացառությամբ ֆունկցիա
Բացառությունները շատ հարմար է նետել՝ դրանք ֆունկցիայի մեջ պայմաններով նշելով:
Եկեք ստեղծենք 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 կոնստրուկցիայի օգնությամբ: Ընդ
դեպում նաև բռնեք ձեր բացառությունները: