Istisno bilan ishlash
Agar sizda istisnoga olib kelishi mumkin bo'lgan shubhali kod bo'lsa, siz o'zingizni himoya qilishingiz mumkin
shubhali kodni sinab ko'rish: blokga joylashtirish orqali dastur. Sinab ko'rgandan so'ng: blok, shu jumladan
bir : tashqari oqlangan deb muammoni hal kod bloklar tomonidan ta'qib bayonotida,
iloji boricha.
Sintaksis
Bu erda sinashning oddiy sintaksisi .... bundan tashqari ... boshqa blok-
urinib ko'ring:
Siz bu erda o'z operatsiyalaringizni qilasiz
.........................
Python 3
327
istisnolardan tashqari :
Agar ExpressionI bo'lsa, ushbu blokni bajaring.
istisnolardan tashqari II :
Agar istisnoII bo'lsa, ushbu blokni bajaring.
.........................
yana:
Istisno bo'lmasa, ushbu blokni bajaring.
Yuqorida keltirilgan sintaksis haqida bir nechta muhim fikrlar mavjud.
Bitta sinash bayonotida bir nechta iboralar bo'lishi mumkin Bu qachon foydalidir
sinash blokida har xil istisnolar turlicha bo'lishi mumkin bo'lgan iboralar mavjud.
Bundan tashqari, siz har qanday istisnolarni o'z ichiga oladigan umumiy holatdan tashqari umumiy ma'lumotlarni ham taqdim etishingiz mumkin.
Bundan tashqari, boshqa gaplarni qo'shgandan so'ng, siz yana bir bandni qo'shishingiz mumkin. Boshqa kod kodi-
Bloklash urinishdagi kodni blok bajarsa, blok istisno qilmaydi.
Boshqa blok - bu sinashga hojat bo'lmagan kod uchun yaxshi joy: blok-ning
himoya.
Misol
Ushbu misol faylni ochadi, faylni tarkibiga yozadi va chiroyli tarzda chiqadi, chunki u erda
hech qanday muammo emas.
#! / usr / bin / python3
urinib ko'ring:
fh = ochiq ("testfile", "w")
fh.write ("Bu istisnosiz ishlash uchun sinov faylim !!")
tashqari, IOError:
bosib chiqarish ("Xato: fayl topa olmadi yoki ma'lumotlarni o'qiy olmaydi")
yana:
bosib chiqarish ("Faylda yozilgan tarkib muvaffaqiyatli")
fh.close ()
Bu quyidagi natijalarni beradi -
Faylga yozilgan tarkib muvaffaqiyatli kiritildi
Misol
Ushbu misol siz yozish huquqiga ega bo'lmagan joyda faylni ochishga harakat qiladi, shuning uchun u ko'tariladi
istisno-
Python 3
328
#! / usr / bin / python3
urinib ko'ring:
fh = ochiq ("testfile", "r")
fh.write ("Bu istisnosiz ishlash uchun sinov faylim !!")
tashqari, IOError:
bosib chiqarish ("Xato: fayl topa olmadi yoki ma'lumotlarni o'qiy olmaydi")
yana:
bosib chiqarish ("Faylda yozilgan tarkib muvaffaqiyatli")
Bu quyidagi natijalarni beradi -
Xato: fayl topilmadi yoki ma'lumotlarni o'qiy olmadi
Do'stlaringiz bilan baham: |