Pythonni mustaqil


To‘g‘ri: def f(x): return 2*x Xato



Download 2,79 Mb.
bet64/109
Sana31.12.2021
Hajmi2,79 Mb.
#223336
1   ...   60   61   62   63   64   65   66   67   ...   109
Bog'liq
PYTHONNI MUSTAQIL O‘RGANAMIZ

To‘g‘ri:

def f(x): return 2*x


Xato:
f = lambda x: 2*x


  • Shaxsiy noodatiy holat klassingizni BaseExceptiondan emas, Exceptiondan meros qilib oling. BaseExceptiondan to‘g‘ridan-to‘g‘ri vorislik amali qamrab olish kerak bo‘lmagan noo-

88

datiy holatlar uchun zaxiralab qo‘yilgan.


Noodatiy holatlar zanjirini kerakli tarzda qo‘llang. Python 3 da raise X from Y dan sozlash axborotini yo‘qotmasdan yaqqol almashtirish uchun foydalanish kerak.

Noodatiy holat qasddan almashtirilayotganda (Python 2 da raise X ni qo‘llash yoki raise




X from None Python 3.3+ da), kerakli ma’lumot yangi noodatiy holatga uzatilganligini nazorat qiling (KeyErrorning AttributeErrorga aylanishi davomida atribut nomining saqlanishi yoki dastlabki noodatiy holat matnining yangisiga joylashtirilishi kabi ).




  • Bundan tashqari, siz noodatiy holat yaratayotganingizda eski sintaksis bo‘lgan raise Val-ueError, message o‘rniga raise ValueError(‘message’) ko‘rinishida yozing.

Python 3 da eskicha yozish shakli ta’qiqlangan.


Bunday shaklda qo‘llash ma’qulroq, chunki qavslar sababli ko‘chiriladigan satrlar belgilari-dan, agar ular juda uzun yoki formatlash qo‘llanilgan bo‘lsa, foydalanish shart emas.


  • Kodingiz noodatiy holatlarni aniqlab olganda, umumiy except iborasining o‘tniga aniq xato-liklarni aniqlang va qayta ishlang:

Masalan, mana bunday yozing:



try:
import platform_specific_module


except ImportError:
platform_specific_module = None
Oddiygina except: ning o‘zini yozishimiz SystemExit ni ham, KeyboardInterrupt aniqlab, qayta ishlashiga va bu esa, o‘z navbatida, yangi muammolarni, masalan, Ctrl+C kombinat-siyasi yordamida dastur ishini yakunlashning murakkablashuvini keltirib chiqaradi. Agar siz chindan ham barcha noodatiy holatlarni aniqlash va qayta ishlashni istasangiz, u holda except Exception: ko‘rinishida yozing.

except: dan foydalanishni quyidagi ikki holatdan tashqari cheklash yaxshi amaliyot his-oblanadi:





    1. Qayta ishlash jarayonida foydalanuvchiga sodir bo‘lgan xatolik haqidagi barcha ma’lu-motlar chiqarib ko‘rsatilsa, foydalanuvchi, hech bo‘lmaganda, xatolik sodir bo‘lganini bilib oladi.




    1. Noodatiy holat aniqlangandan keyin qandaydir kodni bajarish va undan keyin uni yana qayta ishlash uchun boshqa biror joyda qo‘llash kerak bo‘lganda. Odatda, try … final-ly konstruksiyasidan foydalanish qulay va to‘g‘riroqdir.




  • Aniqlangan noodatiy holatlarning aniq nom bilan bog‘liq holatlari uchun Python 2.6 dan qo‘shilgan bog‘liqlikning aniq sintaksisidan foydalaning.

try:
process_data()


except Exception as exc:
raise DataProcessingFailedError(str(exc))

89

Bu Python 3 da qo‘llaniladigan va verguldan foydalanishga asoslangan eski sintaksis bilan bog‘liq muammolarning kelib chiqmasligi imkonini beruvchi yagona sintaksisdir.




  • Operatsion sistemaning xatoliklarini aniqlab, qayta ishlanayotganda errno qiymatlar tahlil-ining o‘rniga Python 3.3 dan kiritilgan noodatiy holatlarning aniq iyerarxiyasidan foydalan-ing.




  • Har bir try … except konstruksiyasining tarkibiga xatoliklarni samaraliroq aniqlash va qa-yta ishlash maqsadida imkon qadar ozroq kod yozishga intiling. Shu bilan birga bu yashirin xatoliklarning oldini olishga ham yordam beradi:



Download 2,79 Mb.

Do'stlaringiz bilan baham:
1   ...   60   61   62   63   64   65   66   67   ...   109




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2025
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish