Uma exceção é um evento que surge durante a execução de um programa para encerrar ou alterar o fluxo normal de um programa. Um erro, por exemplo, levanta uma exceção. Como outras linguagens de programação, o Python contém muitas exceções internas. Essas exceções são levantadas se um erro for encontrado quando o programa for executado. O tipo de erro determina qual exceção deve ser levantada. Quando ocorre uma exceção, o intérprete Python verifica se a exceção é tratada; Caso contrário, encerra o programa. Este artigo explica exceções em Python através de vários exemplos.
Exceções de Python embutidas
Como discutido anteriormente, Python tem muitas exceções internas que são levantadas quando ocorre um erro durante a execução de um programa. Toda exceção é derivada de uma classe base de "exceção". Os seguintes incluem algumas exceções de Python embutidas, juntamente com uma breve descrição de cada tipo de exceção:
Exceção | Descrição |
---|---|
Exceção | Toda exceção é derivada desta classe. |
Importador | Esta exceção é levantada quando um módulo específico é importado e não é encontrado. |
Eoperror | Esta é a exceção de final de arquivo. Esta exceção ocorre quando o final do arquivo é alcançado. |
ZerodivisionError | Esta exceção é levantada quando um número é dividido por zero. |
KeyError | Esta exceção é levantada se uma certa chave que não for definida dentro de um dicionário for especificada ou usada. |
IndexError | Esta exceção é levantada quando o acesso a um índice de sequência que não está no intervalo foi tentado. |
FlutuantePointerror | Esta exceção é levantada quando uma operação de ponto flutuante falha. |
Estas são algumas das exceções internas no Python. Visite a documentação oficial para obter mais informações sobre o uso de exceções internas no Python, localizado em https: // docs.Pitão.org/3/biblioteca/exceções.html.
Uso de exceção em Python
Exceções em Python são tratadas usando a instrução TRY. A parte do código que pode lançar ou aumentar uma exceção é implementada em um bloco de tentativa. Ao lado do bloco de tentativa, um bloco exceto é implementado para lidar com a exceção. No bloco exceto, pegamos a exceção e decidimos qual operação executar quando encontrarmos essa exceção específica. A sintaxe de escrever a tentativa e exceto blocos é a seguinte:
tentar:Agora, implementaremos um código simples em nosso script python usando a tentativa e exceto blocos.
Aqui, imprimiremos uma variável 'nome' que não está definida. Isso levanta uma exceção no bloco, exceto.
#Implementing the Try BlockSaída
Se nenhuma exceção ocorrer, apenas o bloco de tentativa será executado. No bloco exceto, é impressa uma declaração de que ocorreu uma exceção.
Vejamos outro exemplo em que definimos a variável de nome:
#Defining a variável de nomeSaída
No exemplo acima, o bloco de tentativa é executado e o bloco exceto é ignorado porque o programa não levanta nenhuma exceção. Podemos definir tantos bloqueios, exceto em nosso programa, como queremos. Cada bloco, exceto, lida com um tipo específico de exceção.
#Implementing the Try BlockSaída
Em Python, a exceção é a classe base para todas as exceções. Em vez de escrever o nome de uma exceção específica no bloco, exceto, podemos simplesmente escrever "exceção" e capturar todos os tipos de exceção dessa maneira.
#Implementing the Try BlockSaída
O exp.__class__ retorna o nome da classe de exceção.
Da mesma forma, vejamos um exemplo da classe "ZerodivisisionError".
#Implementing the Try BlockSaída
O bloco else
O bloco else é usado com os blocos de tentativa e exceção. O bloco else define um pedaço de código que é executado se o bloco de tentativa é executado com sucesso e nenhum erro ocorre. Às vezes, pode ser necessário imprimir uma mensagem ou executar uma função quando o bloco de tentativa for executado com sucesso. Por esse motivo, podemos implementar o bloco else com a tentativa e exceto blocos.
Neste exemplo, implementaremos o bloco else em nosso script python.
#Implementing the Try BlockSaída
O bloco else é executado após a execução bem -sucedida do bloco de tentativa.
Vamos agora olhar para outro exemplo usando o bloco else.
#Implementing the Try BlockSaída
No exemplo acima, a variável de nome é definida dentro do bloco de tentativa e é impressa no bloco else.
O bloco finalmente
O finalmente O bloco contém o pedaço de código que deve ser executado, independentemente de o bloco de tentativa aumentar uma exceção. O bloco finalmente é opcional e é declarado com o bloco de tentativa. Por exemplo, se abrimos um arquivo de texto para ler o bloco de tentativa e ele levanta um erro ou exceção, é melhor envolver o arquivo no bloco finalmente, mesmo que o erro ocorra. Vamos implementar o bloqueio finalmente em nosso script python.
#Implementing the Try BlockSaída
Na saída, pode -se observar que o bloco de tentativa levanta uma exceção. No entanto, o bloco finalmente é executado no final.
Agora, vamos abrir um arquivo de texto no bloco de tentativa, que levanta uma exceção enquanto o arquivo incluído no bloco finalmente.
#Implementing the Try BlockSaída
Como você pode ver, independentemente do erro de valor, o arquivo foi fechado com sucesso dentro do bloco finalmente.
Levantar uma exceção
Embora as exceções sejam levantadas automaticamente quando ocorre um erro, no Python, você também pode aumentar as exceções manualmente. O elevação A palavra -chave é usada para aumentar ou lançar a exceção.
Agora aumentaremos algumas exceções usando a palavra -chave Raise. No exemplo seguinte, a condição se é implementada para verificar números não negativos. Se houver números não negativos, a exceção "números não negativos não são permitidos" será aumentado.
#DeClaring Duas variáveis de númerosSaída
Conclusão
Uma exceção ocorre em resposta a um erro no tempo de execução. No Python, podemos lidar com exceções usando a tentativa e exceto blocos. Este artigo explicou como usar exceções em Python através de vários exemplos.