Skip to content

Python - Sinov va Istisno ​

Sinov va Istisno ​

try bloki sizga kod blokini xatolarga sinab ko'rish imkonini beradi.

except bloki sizga xatoni boshqarish imkonini beradi.

else bloki xato bo'lmaganida kodni bajarish imkonini beradi.

finally bloki try va except bloklari natijasidan qat'i nazar kodni bajarish imkonini beradi.

Istisno Boshqaruvi ​

Xato yuz berganda yoki biz uni istisno deb atasak, Python odatda to'xtaydi va xato xabarini chiqaradi.

Bu istisnolarni try iborasi yordamida boshqarish mumkin:

Misol ​

try bloki istisno keltirib chiqaradi, chunki x aniqlanmagan:

python
try:
    print(x)
except:
    print("Bir istisno yuz berdi")

try bloki xato keltirib chiqarganligi sababli, except bloki bajariladi.

try bloki bo'lmasa, dastur ishdan chiqadi va xato keltirib chiqaradi:

Misol

Bu ibora xato keltirib chiqaradi, chunki x aniqlanmagan:

python
print(x)

Ko'p Istisno ​

Siz xohlagancha istisno bloklarini aniqlashingiz mumkin, masalan, agar ma'lum bir xato turi uchun maxsus kod blokini bajarmoqchi bo'lsangiz:

Misol ​

Agar try bloki NameError keltirib chiqarsa, bir xabar chop eting, boshqa xatolar uchun boshqa xabar:

python
try:
    print(x)
except NameError:
    print("x o'zgaruvchisi aniqlanmagan")
except:
    print("Boshqa biror narsa noto'g'ri ketdi")

Else ​

Agar xato keltirib chiqarilmagan bo'lsa, bajariladigan kod blokini aniqlash uchun else kalit so'zidan foydalanishingiz mumkin:

Misol ​

Bu misolda try bloki hech qanday xato keltirib chiqarmaydi:

python
try:
    print("Salom")
except:
    print("Nimadir noto'g'ri ketdi")
else:
    print("Hech qanday xato yo'q")

Finally ​

Agar ko'rsatilgan bo'lsa, finally bloki try bloki xato keltirib chiqaradimi yoki yo'qmi, qat'i nazar bajariladi.

Misol ​

python
try:
    print(x)
except:
    print("Nimadir noto'g'ri ketdi")
finally:
    print("'try except' tugadi")

Bu obyektlarni yopish va resurslarni tozalash uchun foydali bo'lishi mumkin:

Misol ​

Yozish mumkin bo'lmagan faylni ochishga va unga yozishga urinib ko'ring:

python
try:
    f = open("demofile.txt")
    try:
        f.write("Lorum Ipsum")
    except:
        print("Faylga yozishda nimadir noto'g'ri ketdi")
    finally:
        f.close()
except:
    print("Faylni ochishda nimadir noto'g'ri ketdi")

Dastur fayl obyektini ochiq qoldirmasdan davom etishi mumkin.

Istisno Keltirib Chiqarish ​

Python dasturchisi sifatida siz shart yuz berganda istisno keltirib chiqarishni tanlashingiz mumkin.

Istisno keltirib chiqarish (yoki ko'tarish) uchun raise kalit so'zidan foydalaning.

Misol ​

Agar x 0 dan kichik bo'lsa, xato keltirib chiqaring va dasturni to'xtating:

python
x = -1

if x < 0:
    raise Exception("Kechirasiz, nol ostidagi raqamlar qo'llab-quvvatlanmaydi")

raise kalit so'zi istisno keltirib chiqarish uchun ishlatiladi.

Siz qanday xato turini keltirib chiqarishni va foydalanuvchiga chop etiladigan matnni aniqlashingiz mumkin.

Misol ​

Agar x butun son bo'lmasa, TypeError keltirib chiqaring:

python
x = "salom"

if not type(x) is int:
    raise TypeError("Faqat butun sonlar ruxsat etiladi")

Python - Sinov va Istisno (try-except) mavzusida test

Savol 1 / 8

Xatolik yuz berishi mumkin bo'lgan kod blokini tekshirib sinash uchun qaysi kalit so'z ishlatiladi?