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:
lst = [1, 2, 3]
Na construção try-except, vamos especificar
a captura de uma exceção para um elemento
inexistente da lista:
try:
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:
try:
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:
'erro: elem não existe'
Agora, vamos definir no bloco try a impressão
de um elemento que certamente está na lista:
try:
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:
1
6
Dada a lista:
lst = [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.