Como lidar com exceções em python usando a cláusula finally

Normalmente você deseja manipular qualquer exceção que ocorre de uma maneira que não cause sua aplicação Python para falhar. No entanto, às vezes você não pode fazer nada para resolver o problema, ea aplicação é mais definitivamente vai bater.

Video: Tratamento de exceções em Python

Neste ponto, o seu objetivo é fazer com que o aplicativo falhar graciosamente, o que significa fechamento de arquivos para que o usuário não perderá dados e executar outras tarefas dessa natureza. Qualquer coisa que você pode fazer para manter danos aos dados e do sistema a um mínimo é uma parte essencial de manipulação de dados para uma aplicação deixar de funcionar.

o finalmente cláusula é parte da estratégia de aplicação deixar de funcionar. Você pode usar esta cláusula para executar quaisquer tarefas necessárias de última hora. Normalmente, o finalmente cláusula é bastante curta e utiliza apenas as chamadas que são susceptíveis de ter sucesso sem mais problema.

É essencial para fechar os arquivos, o usuário fizer logoff e executar outras tarefas necessárias, e depois deixe que o acidente aplicação antes que algo terrível acontece (como uma falha total do sistema). Com esta necessidade em mente, as etapas a seguir mostram um exemplo simples de usar o finalmente cláusula.

1Abra uma janela do Python Arquivo

Você vê um editor no qual você pode digitar o código de exemplo.

2Digite o seguinte código para a janela - pressione ENTER após cada linha:

systry importação: levantar ValueErrorprint ("Levantando uma excepção."), Exceto ValueError: print ("ValueError exceção!") Sys.exit () finalmente: print ("Cuidar de detalhes de última hora.")impressão("Este código não será executado.")


Neste exemplo, o código gera um ValueError exceção. o exceto cláusula executa como normal quando isso acontece. A chamada para sys.exit () significa que o aplicativo sai após a exceção é tratada. Talvez a aplicação não é possível recuperar, neste caso particular, mas normalmente termina a aplicação, que é por isso que a final impressão() chamada de função nunca vai executar.

o finalmente código cláusula sempre executa. Não importa se a exceção acontece ou não. O código que você colocar neste bloco precisa ser código comum que você sempre quer executar. Por exemplo, quando se trabalha com um arquivo, você colocar o código para fechar o arquivo para este bloco para garantir que os dados não está danificado, permanecendo na memória em vez de ir para o disco.

444990.medium.jpg

3Escolha Executar → Run Module

Você verá uma janela aberta Python Shell. O aplicativo exibe a exceto mensagem de cláusula eo finalmente mensagem cláusula. o sys.exit () chamada impede qualquer outro código de execução.

4Comentar a chamada aumento ValueError precedendo-o com dois sinais de libra, como este:

## elevar ValueError

Removendo a exceção vai demonstrar como a finalmente cláusula realmente funciona.

5Salve o arquivo no disco

Isso garante que o Python vê a mudança.

Video: Aulas Python - 069 - Exceções III: Clausulas do bloco Try

444991.medium.jpg

6Escolha Executar → Run Module

Você verá uma janela aberta Python Shell. O aplicativo exibe uma série de mensagens, incluindo o finalmente mensagem cláusula. Esta parte do exemplo mostra que o finalmente cláusula sempre executa, então você precisa usá-lo com cuidado.


Publicações relacionadas