Manipulação de Exceções em Python: Manipulando Exceções Usando Try Except

Publicados: 2021-06-29

Ao encontrar um erro, um programa de Python é encerrado. Os erros geralmente são problemas que ocorrem em um programa que interrompe sua execução. Os erros podem ser devidos a um erro de sintaxe ou podem ser uma exceção. Sempre que uma instrução incorreta é detectada pelo analisador, ocorre um erro de sintaxe.

No entanto, quando o código com a sintaxe correta gera um erro, ele é conhecido como exceção. Várias exceções internas estão disponíveis em python. Estes são gerados com a ocorrência de eventos internos onde o fluxo normal de um programa é alterado.

Portanto, exceções podem ser definidas como certas condições de programa incomuns que resultam em uma interrupção do código e, portanto, o fluxo do programa é abortado.

A execução de um programa para assim que encontra uma exceção. Isso interrompe ainda mais a execução do código. Portanto, as exceções são erros como resultado do tempo de execução que não podem ser tratados pelo script python.

Para tratamento de exceções em python , a linguagem de script python fornece uma solução para que a execução do código continue e não haja interrupções. A ausência de tratamento de exceção interrompe a execução do código que existe após o código que lança uma exceção.

Várias opções internas estão disponíveis em python que permitem a execução de um programa sem qualquer interrupção, incluindo as exceções comuns. Junto com isso, há uma provisão de exceções personalizadas do python . Para qualquer programa python, as exceções comuns que podem ser lançadas são:

  • ZeroDivisionError: Esse tipo de exceção ocorre quando zero é usado para dividir um número.
  • NameError: Sempre que um programa não encontra um nome, seja global ou local, ocorre esse tipo de exceção.
  • IndentationError: A indentação incorreta dá origem ao indentationError.
  • IOError : A falha de uma operação de entrada-saída resulta em IOError.
  • EOFError: Ocorre na operação contínua de um programa mesmo quando o

final do arquivo é atingido.

Índice

Criando uma exceção

Para lançar uma exceção sob certas condições, o aumento é usado.
A execução do programa é interrompida e a exceção associada é exibida na tela. A exibição das exceções permite que os usuários saibam qual pode ser o problema subjacente.

Em python através do uso da cláusula raise, podemos gerar uma exceção. O aplicativo é útil nos casos em que o programa precisa ser interrompido levantando uma exceção.

Por exemplo: Supostamente um programa precisa de cerca de 1GB de memória para sua execução e tenta ocupar 1GB, nesse caso, para parar de executar o programa uma exceção pode ser lançada.

Sintaxe para gerar uma exceção:

Exception_class,<valor>

Portanto,

  • 'raise' é usado para gerar uma exceção em um programa.
  • Um valor pode ser fornecido a uma exceção que pode ser fornecida aos parênteses.
  • O acesso ao valor pode ser feito com a palavra-chave ”as”. O valor dado à exceção pode ser armazenado na variável de referência denotada por “e”.
  • Para especificar um tipo de exceção, o valor pode ser passado para uma exceção.

AssertionError

Uma asserção pode ser feita em python em vez de deixar o programa travar. É feita uma afirmação de que uma condição específica é atendida pelo programa. O programa continuará em execução se a condição for verdadeira. Caso contrário, uma exceção AssertionError é lançada pelo programa quando a condição se torna falsa.

Manipulando exceções através do bloco try e except

Exceções lançadas em python são capturadas e tratadas pelos blocos try e except em python. O código dentro do bloco try é executado normalmente como parte do programa. O outro bloco inclui instruções que são executadas em resposta às exceções lançadas pelo programa no bloco try.

O programa lança uma exceção sempre que encontra um erro em um código sintaticamente correto. Se as exceções lançadas não forem tratadas corretamente, haverá uma falha nos programas. Nesses cenários, o bloco except determina a resposta do programa a essa exceção.

A aplicação da cláusula try e except será melhor compreendida através do seguinte exemplo retirado da fonte mencionada.

Neste caso, sempre que ocorrer uma exceção, o programa continuará rodando e informará ao usuário que o programa não foi bem sucedido ao invés de dar uma saída em branco.

Checkout : Ideias e tópicos do projeto Python

O programa mostrou o tipo de erro que foi lançado por meio da chamada da função. No entanto, o erro lançado pela função pode ser capturado para se ter uma ideia do que realmente deu errado.

A execução do código em uma máquina Windows gerará o seguinte

A mensagem exibida primeiro indica um AssertionError por meio do qual o usuário é informado de que a função pode ser executada apenas em um sistema de sistema operacional Linux. A segunda mensagem fornece ainda a informação de qual função não pôde ser executada.
Inexistência se o arquivo.log gerar uma saída com a mensagem “Não foi possível abrir o arquivo.log”.

O programa ainda continuará sendo executado, pois é uma mensagem que retransmite as informações para o usuário. Muitas exceções internas estão disponíveis em documentos do Python. Uma exceção, conforme descrito, é mostrada abaixo.

A inexistência do arquivo.log neste caso gerará a seguinte saída.

Várias exceções podem ser detectadas pelo uso de mais chamadas de função na cláusula try. No entanto, ao detectar uma exceção, as instruções da cláusula try serão interrompidas.

A cláusula else

O uso da cláusula else de instruções pode ajudar a instruir o programa a executar um bloco de instruções somente quando não houver exceções.

A cláusula else foi executada apenas porque não havia exceções. Se o código contiver exceções, o resultado será o seguinte.

Exceções personalizadas do Python

O Python tem várias exceções internas que geram um erro sempre que há algo errado no programa. No entanto, o usuário precisa criar algumas exceções personalizadas nos casos em que sua finalidade é ser atendida.

Uma nova classe pode ser criada para definir as exceções personalizadas. Direta ou indiretamente, essas classes devem ser derivadas da classe de exceções internas.

A classe definida pelo usuário CustomError é criada e é herdada da classe Exception. Semelhante às outras exceções, essas exceções também são geradas pelo uso de 'raise' com uma mensagem de erro que é opcional.

As exceções definidas pelo usuário devem ser colocadas em um arquivo separado sempre que houver o desenvolvimento de um grande programa python. Geralmente é uma boa prática fazer isso e é seguido pela maioria dos módulos padrão onde as exceções são definidas separadamente como errors.py ou exceptions.py.

As exceções personalizadas do python são simples e, como as classes normais implementam tudo, elas também seguem o mesmo.

Sintaxe e Exemplos

Vamos considerar duas variáveis ​​que são a e b. A entrada para as variáveis ​​é retirada do usuário e a divisão dos números é realizada. Agora, se o denominador inserido pelo usuário for um zero.

Para lidar com essas exceções, os blocos try-except podem ser adicionados ao programa. Para qualquer tipo de código que leve à suspeita de lançar exceções. Ele deve ser colocado no bloco try de instruções.

Sintaxe de um bloco try

experimentar:

#código

exceto Exceção1:

#código

exceto Exceção2:

#código

#código

Ele mostra o uso de instruções try-except onde o código é colocado no bloco try e é executado quando não há exceções no código.

Sintaxe da instrução else com try-except

experimentar

#tentar declarações

Exceto exceção1

#código

Outro

#execução de código quando não há exceção

Alguns pontos importantes:

  • A exceção não deve ser especificada por meio de uma declaração de exceção em python.
  • Várias exceções podem ser declaradas em um código por meio do uso de um bloco try, pois pode haver muitas instruções dentro de um bloco try que podem lançar exceções de diferentes tipos.
  • Um bloco else pode ser especificado com um bloco try que é executado quando não há exceções lançadas pelo bloco try.
  • O bloco else deve conter instruções que não sejam responsáveis ​​por lançar exceções.

Leia também: Principais razões pelas quais o Python é popular entre os desenvolvedores

Conclusão

Neste artigo, discutimos brevemente o conceito de manipulação de exceção em python com alguns exemplos. Juntamente com as exceções internas, as exceções personalizadas do python também são definidas brevemente. Agora, você pode conhecer a importância das exceções e o tratamento de exceções em python .

Se você estiver interessado em aprender mais sobre a linguagem python e sua implementação em ciência de dados, você pode conferir o seguinte curso de upGrad “Executive PG Program in Data Science”.

O curso online foi desenvolvido para todos os profissionais iniciantes que se enquadram na faixa etária de 21 a 45 anos. Com mais de 20 sessões ao vivo e conhecimento prático de mais de 14 ferramentas e linguagens de programação, o curso irá guiá-lo para a perfeição. Qualquer dúvida pode ser enviada por mensagem. Nossa equipe irá ajudá-lo.

Quantos tipos de erros existem em Python?

Existem predominantemente 2 categorias distinguíveis de erros em Python – Erros e Exceções de Sintaxe. Erros de sintaxe: Erros de sintaxe são causados ​​quando qualquer linha de código tem uma sintaxe defeituosa. Este é o erro mais comum e é detectado durante a análise do programa. Os erros incluem a falta de um operador, recuo impróprio, erro ortográfico de palavra-chave, dois pontos ausentes, colchetes e outros erros de minuto na sintaxe. Exceções: Exceções são os erros que são detectados durante a execução do programa. Após o programa ter sucesso no teste de sintaxe, ele passa por uma verificação de erros lógicos. Python tem uma rica coleção de exceções internas. Você também pode criar exceções personalizadas definidas pelo usuário.

Qual é a principal diferença entre um erro de sintaxe e uma exceção?

Um erro de sintaxe ocorre quando o código ou uma linha de código está sintaticamente errado. Quando ocorre um erro de sintaxe em um código, o programa é encerrado. Um erro de sintaxe pode ocorrer pela falta de dois-pontos ou até mesmo pela digitação incorreta de uma palavra-chave.
No entanto, as exceções são bem diferentes. Uma exceção pode ser considerada como uma anomalia que interrompe o fluxo do programa. Mesmo que o programa esteja sintaticamente correto, a exceção pode ocorrer. Ao contrário de um erro, o código é executado até a linha em que ocorre a exceção.

Qual é o papel da palavra-chave raise em Python?

A palavra-chave raise é usada para gerar uma exceção em Python. O tipo de erro também pode ser gerado e você também pode adicionar texto a ser exibido no momento da geração da exceção. É muito útil quando você precisa verificar seu código para entradas.