Try Except Finally em Python
Quem programa com frequência sabe bem que erros em códigos são inevitáveis. Saber lidar com situações inesperadas e erros em códigos é uma habilidade fundamental para programar profissionalmente. Já mencionamos os blocos de instruções try except anteriormente. Neste post, o tema será o bloco try except finally.
Como visto anteriormente, o bloco try-except é usado para manipular exceções (erros) que podem ser geradas no bloco try. A instrução try é utilizada para testar um bloco de código que pode conter uma exceção. Já a instrução except lida especificamente com os casos em que a exceção é encontrada no bloco try.
# exemplo do uso de try except
x = 'Maria'
y = int(1)
try:
print(x+y) # tenta concatenar uma string com um inteiro
except:
print("Erro!")
# resultado: Erro!
O bloco except pode ser usado para capturar exceções específicas ou para capturar qualquer tipo de exceção. Porém, o bloco try-except por si só não garante que determinadas ações serão executadas, como fechar um arquivo ou liberar um recurso. Para esses casos, o comando finally é ideal.
Quando usar Try Except Finally?
O bloco finally é usado para definir um bloco de código que será executado independentemente de uma exceção ser gerada ou não nos blocos try except. Ele é normalmente usado para limpar recursos, como fechar arquivos ou conexões de rede, que precisam ser executados independentemente do resultado do bloco try/except. Portanto, o bloco finally deve ser inserido num código quando for necessário garantir a execução de certas ações, mesmo em casos de erros. O bloco finally sempre será executado, mesmo se instruções contendo return, break ou continue forem executadas nos blocos try e except.
# exemplo do uso de try except finally
x = 'Maria'
y = int(1)
try:
print(x+y) # tenta concatenar uma string com um inteiro
except:
print("Erro!")
finally:
print("Eu gosto de Python mesmo quando eu erro!")
# resultados:
# Erro!
# Eu gosto de Python mesmo quando eu erro!
Veja também:
Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.