⊗pyPmExcFu 82 of 129 menu

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.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish