Pythonda Istisno bilan ishlash
Istisnolarni shartlar yordamida funktsiyalarda belgilash orqali ulash juda qulay.
Keling, get_sum funktsiyasini yarataylik,
u faqat ro'yxat uzunligi 3 dan kichik yoki
teng bo'lganda ro'yxat elementlari yig'indisini
chiqarsin. Aks holda, bizning ToBigLength
istisnomiz chiqarilsin:
def get_sum(lst):
if len(lst) <= 3:
return sum(lst)
else:
raise ToBigLength
Endi get_sum funktsiyasiga ro'yxat
o'tkazamiz va funktsiyani konsolga chiqaramiz:
lst = [1, 2, 3, 4]
print(get_sum(lst)) # 6 ni chiqaradi
Shuningdek, funktsiyalarda bir nechta istisno
turlarini ushlashni belgilash mumkin. Keling
yana bir ToSmallLength istisno sinfini
yaratamiz:
class ToSmallLength(Exception):
pass
Endi funktsiyada shartni belgilaymiz, agar
ro'yxat uzunligi nolga teng bo'lsa, ToSmallLength
chiqarilsin. Agar hech qanday istisno ushlanmasa,
ro'yxatning barcha elementlari yig'indisi
chiqarilsin:
def get_sum(lst):
if len(lst) > 3:
raise ToBigLength
if len(lst) == 0:
raise ToSmallLength
else:
return sum(lst)
Qulaylik uchun funktsiyaning parametriga
o'tkaziladigan ro'yxatni, funktsiyaning o'zini
va uning chaqiruvini try blokiga o'rash
mumkin. Ikki istisnomizni ushlashni esa
except bloklarida joylashtiramiz:
try:
lst = [1, 2, 3]
res = get_sum(lst)
print(res)
except ToBigLength:
print('error 1')
except ToSmallLength:
print('error 2')
Parametr sifatida son qabul qiladigan funktsiya
yarating. Unda shartlarni belgilang, agar son
manfiy yoki nolga teng bo'lsa, mos ravishda
istisnolar chiqarilsin. Aks holda son 3 ga
ko'paytirilsin.
Yaratgan funktsiyangizning ishlashini try-except
konstruksiyasi yordamida tekshiring. Bunda
istisnolaringizni ham ushlang.