Blok else przy przechwytywaniu wyjątków w Pythonie

Do konstrukcji try-except można również dodać blok else. Ważny niuans polega na tym, że kod umieszczony w bloku else zadziała, jeśli przed nim w try-except nie zostało przechwycone żadne wyjątki.

Załóżmy, że mamy listę:

pythonlst = [1, 2, 3]

W konstrukcji try-except zapiszmy przechwytywanie wyjątku dla nieistniejącego elementu listy:

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

Teraz wskażmy w bloku else wypisanie sumy wszystkich elementów listy:

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

Jeśli kod w bloku try odwołuje się do nieistniejącego elementu, to w konsoli pojawi się komunikat o błędzie:

error'error: elem is not exist'

Teraz ustawmy w bloku try wypisanie elementu, który na pewno znajduje się na liście:

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

Po wykonaniu kodu w konsoli pojawią się dwie liczby: element podany w try i suma wszystkich elementów listy:

python1
6
Задание 1

Dana jest lista:

pythonlst = [1, 2, 3]

Napisz kod, aby przechwycić wyjątek związany z dzieleniem przez zero. W przypadku, gdy ten wyjątek się nie pojawi, niech wypisze się długość listy.