Try Except em Python

try O bloco permite que você teste o bloco de código para encontrar erros.

except O bloco permite que você lidar com erros.

finally O bloco permite que você execute código, independentemente do resultado do bloco try e except.

Tratamento de exceções

Quando chamamos o Python e ocorre um erro ou exceção, geralmente paramos e geramos uma mensagem de erro.

Você pode usar try Instrução para lidar com essas exceções:

Exemplo

O bloco try gerará uma exceção porque x não está definido:

try:
  print(x)
except:
  print("Ocorreu uma exceção")

Executar Exemplo

Devido ao erro gerado pelo bloco try, o bloco except será executado.

Se não houver bloco try, o programa falhará e gerará um erro:

Exemplo

A instrução causará um erro porque x não está definido:

print(x)

Executar Exemplo

Múltiplas exceções

Você pode definir quantos bloco exception quiser, por exemplo, se você quiser executar um bloco de código especial para um tipo específico de erro:

Exemplo

Se o bloco try gerar NameErrorEntão, imprime uma mensagem, se for outro erro, imprime outra mensagem:

try:
  print(x)
except NameError:
  print("A variável x não está definida")
except:
  print("Algo mais deu errado")

Executar Exemplo

Else

Se não houver erro, você pode usar else Palavras-chave para definir o bloco de código a ser executado:

Exemplo

Neste exemplo,try O bloco não gerará nenhum erro:

try:
  print("Olá")
except:
  print("Algo deu errado")
else:
  print("Nada deu errado")

Executar Exemplo

Finally

Se especificado finally Se o bloco for executado, o bloco finally será executado independentemente de o bloco try ter gerado um erro ou não.

Exemplo

try:
  print(x)
except:
  print("Algo deu errado")
finally:
  print("O 'try except' foi concluído")

Executar Exemplo

Isso é muito útil para fechar objetos e limpar recursos:

Exemplo

Tente abrir e escrever em um arquivo inescrevível:

try:
  f = open("demofile.txt")
  f.write("Lorum Ipsum")
except:
  print("Algo deu errado ao escrever no arquivo")
finally:
  f.close()

Executar Exemplo

O programa pode continuar e não abrir o objeto do arquivo.

Lançar exceção

Como desenvolvedor Python, você pode optar por levantar exceções quando condições ocorrem.

Para levantar (levantar) exceções, use levantar Palavras-chave.

Exemplo

Se x for menor que zero, levanta exceção e encerra o programa:

x = -1
se x < 0:
  levantar Exception("Desculpe, não há números abaixo de zero")

Executar Exemplo

levantar Palavras-chave para levantar exceções.

Você pode definir o tipo de exceção levantada e o texto impresso para o usuário.

Exemplo

Se x não for um inteiro, levanta TypeError:

x = "hello"
se não type(x) é int:
  levantar TypeError("Só são permitidos inteiros")

Executar Exemplo