فارسی
باز کردن در Telegram

پستⓂ️ Pythonda xatolar ustida ishlash (try-except).

24 ژوئن 2021
P
Python dasturlash maktabi
پاسخFunksiyalar (vazifalar) Oldindan belgilangan funksiyalarni ishlatishdan tashqari, def operatoridan foydalanib o'zingizning funksiyalaringizni yaratishingiz mumkin. Funksiya xuddi o'zgaruvchilarga o'xshab oldin yoziladi va keyin chaqiriladi. Funksiyadagi kod bloklari funksiya chaqirilgandagina bajar
پیوند
برای نمایش کلیک کنید
Ⓜ️ Pythonda xatolar ustida ishlash (try-except). Batafsil: https://docs.python.org/3/library/exceptions.html?highlight=exception#Exception Istisno (Exception) nima? Istisno - bu dastur normal ish jarayonini buzadigan, dasturni ishga tushirish va ishga tushirgandan keyin sodir bo'ladigan hodisa.Python skripti o'zi hal qila olmaydigan vaziyat yuzaga kelganda, u istisno tug'diradi. Istisno - bu xatoni ifodalovchi Python ob'ekti.Python skriptida istisno tug'ilsa, u darhol tutib qolinishi kerak, aks holda dastur ish faoliyati to'xtaydi. Istisno holatini ko'rib chiqish Agar sizda istisnoga olib kelishi mumkin bo'lgan ba'zi bir shubhali kodlar mavjud bo'lsa, siz shubhali kodni try: blokiga joylashtirish orqali dasturingizni himoya qilishingiz mumkin. Barcha oldindan o'rnatilgan istisnolar asosiy BaseException sinfiga mansub bo'ladi. Bu foydalanuvchi tomonidan belgilangan sinflar tomonidan to'g'ridan-to'g'ri meros qilib olinishi kerak emas, Exception dan foydalanishning o'zi yetarli. ################### Arifmetik xatoliklarni tekshirish uchun umumiy ArithmeticError dan yoki ArithmeticError dan meros bo'lib olingan FloatingPointError, OverflowError, ZeroDivisionError dan foydalanishingiz mumkin. Sonlarni 0 ga bo'lish arifmetik xatolik hisoblanadi. try: 1/0 except ArithmeticError as e: print(f"Arifmetik xatolik: {e}, {e.__class__}") Arifmetik xatolik: division by zero, <class 'ZeroDivisionError'> #—————————————-# try: 1 / 0 except ZeroDivisionError as e: print(f"Nolga bo'lishda xato: {e}, {e.__class__}") Nolga bo'lishda xato: division by zero, <class 'ZeroDivisionError'> #—————————————-# j = 5.0 try: for i in range(4, 10): j = j ** i print(i, j) except OverflowError as e: print(f"Haqiqiy son kasr qismi xatoligi: {e}, {e.__class__}") 4 625.0 5 95367431640625.0 6 7.52316384526264e+83 Haqiqiy son kasr qismi xatoligi: (34, 'Result too large'), <class 'OverflowError'> ################### Pythonda yozilgan dastur asosan 3 holatda AttributeError xatoligini qaytaradi. 1) Noto'g'ri atributga murojaat qilinganida try: a = 7 print(type(a)) a.append(42) except AttributeError: print("Atribut xatoligi") <class 'int'> Atribut xatoligi try blogi ichidagi a nomli o'zgaruvchi butun son (integer) turiga mansub va bu turdagi o'zgaruvchi o'zida faqat 1 ta sonni saqlashi mumkin.Yuqoridagi kodda 42 sonini ham a nomli o'zgaruvchiga qo'shmoqchi bo'lganimizda dastur AttributeError xatoliginbi qaytardi. 2) Atribut imlo xato bilan yozilganda satr = "farmat emas format yoziladi { }".farmat("ok") print(string) AttributeError: 'str' object has no attribute 'farmat' 3) Sinf uchun mavjud boʻlmagan atribut ma'lumotnomasini berishga harakat qilinganda. class Pythonuz(): def __init__(self): self.a = 'Python' obj = Pythonuz() print(obj.a) print(obj.b) AttributeError: 'Pythonuz' object has no attribute 'b' ################### Dasturda operatsion yoki fayl tizimlari bilan bog'liq muammolar bo'lsa dastur EnvironmentError xatoligini qaytaradi. IOError - fayl bilan bog'liq muammolar (File not found, Disk Full) paydo bo'lganda dastur ushbu xatolikni qaytaradi. import sys try: f = open("filename.txt", 'r') except IOError: print(sys.exc_info()[0]) <class 'FileNotFoundError'> OSError - operatsion tizim bilan bog'liq muammolar paydo bo'lganda dastur ushbu xatolikni qaytaradi. import sys import pandas as pd try: file = pd.read_csv("C:\ttextfile.csv") # \t except OSError: print(sys.exc_info()[0]) <class 'OSError'> ################### Mavjud bo'lmagan modul chaqirilganda dastur ModuleNotFoundError xatoligini qaytaradi import sys try: import request except ImportError: print(sys.exc_info()[0]) <class 'ModuleNotFoundError'> #—————————————-# Mavjud bo'lgan modul va modul ichidan mavjud bo'lmagan funksiya chaqirilganda dastur ImportError xatoligini qaytaradi import sys try: from time import tim except ImportError: print(sys.exc_info()[0]) <class 'ImportError'> Davomi https://t.me/pythonuz/591 @pythonuz
36 · 15.4K ·

در همان حوالی فید

PPython dasturlash maktabiنظرسنجیPPython dasturlash maktabiKanalga yangi tashrif buyurganlarga: Python dasturlash tilini 0dan o'rganishni ushbu mavzudan 👈 boshlang.
این پیام
PPython dasturlash maktabiBoshiga https://t.me/pythonuz/590 ################### Mavjud bo'lmagan indeks yoki kalitlarni tekshirish uchun umumiy LookupError dan yoki LookupError dan merosPPython dasturlash maktabiنظرسنجی
PPython dasturlash maktabiPython dasturlash maktabi@pythonuz · کانال · فناوری
2 117مشترک372پست در ایندکس
فید انجمن باز کردن در Telegram

فید عمومی باز از ایندکس جست‌وجو ChatCrawler — «Google برای Telegram عمومی»؛ با خزش انجمن به‌روز می‌شود. زمان‌ها به UTC است.

فقط محتوای عمومی، API رسمی Telegram. دربارهٔ ما · پرسش‌ها · محدودیت‌های ایندکس · حذف یک صفحه · کاتالوگ · جست‌وجو · روش محاسبهٔ ما