Блок else при перехвате исключений в Python
В конструкцию try-except
также можно
добавлять блок else
. Важный нюанс
состоит в том, что код, размещенный в блоке
else
сработает если до него в
try-except
не было поймано ни одного
исключения.
Пусть у нас есть список:
lst = [1, 2, 3]
В конструкции try-except
пропишем
перехват исключения для несуществующего
элемента списка:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
Теперь давайте укажем в блоке else
вывод суммы всех элементов списка:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Если код в блоке try
обращается к
отсутствующему элементу, то в консоли
появится сообщение об ошибке:
'error: elem is not exist'
Теперь зададим в блоке try
вывод
элемента, который точно находится в списке:
try:
print(lst[0])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
После выполнения кода в консоли появятся
два числа: элемент, заданный в try
и сумма всех элементов списка:
1
6
Дан список:
lst = [1, 2, 3]
Напишите код, чтобы перехватить исключение, связанное с делением на ноль. В случае, если данное исключение не появится, пусть выведется длина списка.