Bloco else no tratamento de exceções em Python

À construção try-except também é possível adicionar o bloco else. Um detalhe importante é que o código colocado no bloco else será executado se nenhuma exceção for capturada no try-except anteriormente.

Suponha que temos uma lista:

pythonlst = [1, 2, 3]

Na construção try-except, vamos especificar a captura de uma exceção para um elemento inexistente da lista:

pythontry:
  print(lst[4])
except IndexError:
  print('erro: elem não existe')

Agora, vamos especificar no bloco else a impressão da soma de todos os elementos da lista:

pythontry:
  print(lst[4])
except IndexError:
  print('erro: elem não existe')
else:
  print(sum(lst))

Se o código no bloco try tentar acessar um elemento que não existe, a mensagem de erro será exibida no console:

error'erro: elem não existe'

Agora, vamos definir no bloco try a impressão de um elemento que certamente está na lista:

pythontry:
  print(lst[0])
except IndexError:
  print('erro: elem não existe')
else:
  print(sum(lst))

Após a execução do código, dois números serão exibidos no console: o elemento especificado no try e a soma de todos os elementos da lista:

python1
6
Задание 1

Dada a lista:

pythonlst = [1, 2, 3]

Escreva um código para capturar uma exceção relacionada à divisão por zero. Caso essa exceção não ocorra, a length da lista deve ser exibida.