Блок else при перехвате исключений в Python

try-except конструкциясына кошумча else блогу кошууга болот. Маанилүү нукты, else блогуна жайгаштырылган код, эгерде ага чейин try-except ичинде бир дагы тышкы жол кармалбаса гана иштейт.

Бизде тизме бар деп коёлу:

pythonlst = [1, 2, 3]

try-except конструкциясында тизменин жок элементи үчүн тышкы жолду кармоону жазалы:

pythontry:
  print(lst[4])
except IndexError:
  print('error: elem is not exist')

Эми else блогуна тизменин бардык элементтеринин суммасын чыгарууну көрсөтөлү:

pythontry:
  print(lst[4])
except IndexError:
  print('error: elem is not exist')
else:
  print(sum(lst))

Эгерде try блогунун коду жок элементке кайрылса, анда консолдо ката жөнүндө билдирүү пайда болот:

error'error: elem is not exist'

Эми try блогуна тизмеде так бар элементин чыгарууну тапшыралы:

pythontry:
  print(lst[0])
except IndexError:
  print('error: elem is not exist')
else:
  print(sum(lst))

Код аткарылгандан кийин консолдо эки сан пайда болот: try блогуна берилген элемент жана тизменин бардык элементтеринин суммасы:

python1
6
Задание 1

Тизме берилген:

pythonlst = [1, 2, 3]

Нөлгө бөлүүгө байланыштуу тышкы жолду кармоо үчүн код жазыңыз. Эгерде бул тышкы жол пайда болбосо, тизменин узундугу чыксын.