Блок 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]
Напишите код, чтобы перехватить исключение, связанное с делением на ноль. В случае, если данное исключение не появится, пусть выведется длина списка.