Using the finally Statement

try/except operatori faqat `try` va `except` bloklaridan iborat emas.

SU

finally operatoridan foydalanish

try/except operatori faqat try va except bloklaridan iborat emas. Siz unga finally operatorini ham qo'shishingiz mumkin. finally operatori — bu har doim bajariladigan kod bloki bo'lib, hatto try qismida istisno ko'tarilgan bo'lsa ham ishlaydi.

Siz finally operatoridan tozalash (cleanup) uchun foydalanishingiz mumkin. Masalan, sizga ma'lumotlar bazasi ulanishini yoki fayl tutqichini yopish kerak bo'lishi mumkin. Buning uchun kodingizni try/except/finally operatoriga o'rashingiz mumkin.

Keling, sun'iy misolga qaraylik:

1 >>> try:
2...     1 / 0
3... except ZeroDivisionError:
4...     print('Siz nolga bo'la olmaysiz!')
5... finally:
6...     print('Tozalash jarayoni')
7...
8 Siz nolga bo'la olmaysiz!
9 Tozalash jarayoni

Ushbu misol ZeroDivisionError istisnosini qanday boshqarishingiz mumkinligini va shu bilan birga tozalash kodini qo'shishni ko'rsatadi.

Siz except operatorini butunlay o'tkazib yuborishingiz va try/finally yaratishingiz ham mumkin:

1 >>> try:
2...     1 / 0
3... finally:
4...     print('Tozalash jarayoni')
5...
6 Tozalash jarayoni
7 Traceback (most recent call last):
8 Python Shell, prompt 6, line 2
9 builtins.ZeroDivisionError: nolga bo'lish xatosi

Bu safar siz ZeroDivisionError istisnosini boshqarmaysiz, lekin finally operatoridagi kod bloki baribir bajariladi.

Ushbu sahifada

Xato haqida xabar berish