Python istisnolar (Try...Except)


trybloki kod blokini xatolar uchun sinab ko‘rish imkonini beradi.

except bloki xatoni hal qilish imkonini beradi.

elsebloki xato bo‘lmaganda kodni bajarishga imkon beradi.

finally bloki sinash natijasidan qat’iy nazar kodni bajarishga imkon beradi- va bloklardan tashqari.


ULASHISH

Istisno bilan ishlash

Xato yoki biz uni istisno qilganda, Python odatda to‘xtab qoladi va xato xabarini yaratadi.

Ushbu istisnolarnitryoperatori yordamida hal qilish mumkin:

Misol

trybloki istisno hosil qiladi, chunki x aniqlanmagan:

try:   print(x) except:   print("An exception occurred")
O‘zingiz sinab ko‘ring »

Sinab ko‘rish bloki xatoga yo‘l qo‘yganligi sababli, istisno bloki bajariladi.

Sinab ko‘rish bloki bo‘lmasa, dastur ishdan chiqadi va xatoga yo‘l qo‘yadi:

Misol

Bu ko‘rsatma xatoga olib keladi, chunki x aniqlanmagan:

print(x)
O‘zingiz sinab ko‘ring »

Ko‘p istisnolar

Siz xohlagancha istisno bloklarini belgilashingiz mumkin, masalan. agar siz maxsus xatolik uchun maxsus kod blokini bajarmoqchi bo‘lsangiz:

Misol

Sinab ko‘rish bloki NameErrorni ko‘tarsa, bitta xabarni va boshqa xatolar uchun boshqasini chop eting:

try:   print(x) except NameError:   print("Variable x is not defined") except:   print("Something else went wrong")
O‘zingiz sinab ko‘ring »

Python o‘rnatilgan istisnolar ma’lumotnomamizda ko‘proq xato turlarini ko‘ring.



Boshqa

Hech qanday xatolik yuzaga kelmasa, bajariladigan kod blokini aniqlash uchunelsekalit so‘zidan foydalanishingiz mumkin:

Misol

Ushbu misoldatrybloki hech qanday xato yaratmaydi:

try:   print("Hello") except:   print("Something went wrong") else:   print("Nothing went wrong")
O‘zingiz sinab ko‘ring »

Nihoyat

finally bloki, agar ko‘rsatilgan bo‘lsa, try bloki xatolik tug‘diradimi yoki yo‘qmi, qat’iy nazar bajariladi.

Misol

try:   print(x) except:   print("Something went wrong") finally:   print("The 'try except' is finished")
O‘zingiz sinab ko‘ring »

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

Misol

Yozish mumkin bo‘lmagan faylni ochishga va unga yozishga harakat qiling:

try:   f = open("demofile.txt")   try:     f.write("Lorum Ipsum")   except:     print("Something went wrong when writing to the file")   finally:     f.close() except:   print("Something went wrong when opening the file")
O‘zingiz sinab ko‘ring »

Dastur fayl obyektini ochiq qoldirmasdan davom etishi mumkin.


Istisno ko‘taring

Python dasturchisi sifatida, agar biror holat yuzaga kelsa, istisno qilishni tanlashingiz mumkin.

Istisnoni tashlash (yokiraise) uchunraisekalit so‘zidan foydalaning.

Misol

Xatoni ko‘taring va agar x 0 dan past bo‘lsa, dasturni to‘xtating:

x = -1 if x < 0:   raise Exception("Sorry, no numbers below zero")
O‘zingiz sinab ko‘ring »

raisekalit so‘ziraiseistisno uchun ishlatiladi.

Siz qanday xatoni ko‘tarishni va matnni foydalanuvchiga chop etishni belgilashingiz mumkin.

Misol

Agar x butun son bo‘lmasa, TypeErrorni ko‘taring:

x = "hello" if not type(x) is int:   raise TypeError("Only integers are allowed")
O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!