Handling Exceptions
Python istisnolarni tutish uchun maxsus sintaksis bilan birga keladi.
Istisnolarni boshqarish
Python istisnolarni tutish uchun maxsus sintaksis bilan birga keladi. Bu try/except
operatori deb ataladi.
Quyida istisnolarni tutish uchun foydalaniladigan asosiy shakl keltirilgan:
Siz muammo bo'lishi mumkin bo'lgan kodni try
blokiga joylashtirasiz. Bu faylni ochadigan yoki foydalanuvchidan kiritma oladigan kod bo'lishi mumkin. Ikkinchi blok except
bloki deb ataladi. Yuqoridagi misolda except
bloki faqat ImportError
istisnosi keltirilganida bajariladi.
Agar except
operatorini istisno turini ko'rsatmasdan yozsangiz, bu "yalang'och istisno" deb ataladi. Bu tavsiya etilmaydi:
"Yalang'och except
" yaratish yomon amaliyot hisoblanadi, chunki siz qanday turdagi istisnolarni tutayotganingizni va ular qayerda sodir bo'layotganini bilmay qolasiz. Bu nima noto'g'ri bo'lganini tushunishni qiyinlashtiradi. Agar siz istisnolarni faqat o'zingiz yecha oladigan turlarga cheklasangiz, kutilmagan istisnolar aslida foydali xabar bilan ilovangizni to'xtatib qo'yadi. O'sha paytda siz boshqa istisnoni tutmoqchi ekanligingizni yoki yo'qligini hal qilishingiz mumkin.
Faraz qilaylik, siz bir nechta istisnolarni tutmoqchisiz. Mana buni amalga oshirish usuli:
Bu istisnoni boshqaruvchi ikkita turdagi istisnolarni tutadi: OSError
va ImportError
. Agar boshqa turdagi istisno yuzaga kelsa, bu boshqaruvchi uni tutmaydi va kodingiz to'xtaydi.
Yuqoridagi kodni biroz sodda qilib yozishingiz mumkin:
Albatta, istisnolarni tuple shaklida yaratish qaysi istisno sodir bo'lganini tushunishni qiyinlashtiradi. Boshqacha qilib aytganda, bu kod qaysi muammo aslida yuzaga kelganini aniqlashni murakkablashtiradi.
Last updated on