Python AssertionError

Python AssertionError
Quando um programa Python encontra uma condição inesperada durante a execução, o programa interrompe a execução e retorna uma exceção. Em Python, exceções e erros de sintaxe são as duas principais categorias de erros. Quando um pedaço de código python que é sintaticamente válido cria um erro, é conhecido como levantar uma exceção/erro. A mensagem de erro na última linha define o tipo de exceção precisa e fornece uma descrição para ajudar na depuração, e uma seta aponta para a linha ou local onde ocorreu a exceção. Catching e gerenciar exceções é crucial para evitar uma falha repentina do programa. Use uma maneira diferente de executar o código. Por exemplo, quando a exceção especificada ocorre. Este tutorial discutirá o AssertionError e como você pode resolvê -lo em Python.

O que é um terror de assertion in python?

Erros de afirmação são um conceito de programação que ocorre quando um programador escreve ou cria um bloco de código usado para declarar um critério ou condição a ser satisfeito antes que o módulo seja executado. Como qualquer erro em python, o controle é transferido para a linha de código subsequente se a condição especificada quando a afirmação foi declarada verdadeira. Se for falso, por outro lado, um erro ou exceção é levantado e o programa é interrompido. A declaração assert pode ser usada em várias linguagens de programação com suas sintaxes específicas, porque é independente da linguagem. É uma subclasse ou uma instância da classe de exceção. Python AssertionError tem a seguinte sintaxe:

Sintaxe: Condição de afirmar, error_message (opcional)

Exemplo

Entraremos na idade de uma pessoa como entrada e, se for menor que zero, o console aumentará um erro de afirmação.

Agora, e se entrarmos em uma idade menor que 0?

A depuração do seu código usando este método é mais simples, tornando mais simples encontrar erros e corretos de bugs no programa.

Como assertionError funciona em Python

A linguagem Python inclui uma declaração assert que pode ser usada para gerar saídas simples de mensagens de erro com asserções lógicas. Quando a declaração de afirmação falha, uma assertionError de "exceção" é levantada. Em Python, as classes de exceção são derivadas da classe Baseexception. A classe Baseexception, que também é a classe base da classe AssertionError, é onde a classe de exceção deriva. Sempre deve haver código de manuseio de exceção apropriado para lidar com a falha de uma declaração assert sempre que se é usada. O manipulador de exceção padrão em Python imprimirá a mensagem de erro escrita por programador, mas o erro também pode ser tratado ou resolvido sem uma mensagem de erro.

Implementando assertionError em python

A seguir, vários exemplos de assertionError em Python:

Exemplo

Neste exemplo, escreveremos um programa Python para exibir um AssertionError em um programa que encontra a área de um círculo.

O valor do raio "R" é passado como uma entrada para uma função no programa anterior criado para encontrar a área do círculo. A declaração assert é então usada para determinar se o valor ou raio fornecido "r" está abaixo de zero e, se um valor negativo é fornecido a ele, uma exceção será levantada. A área do círculo será devolvida com base no valor do raio "r" fornecido à função. Primeiro, a função é executada com um valor de r como 3. A função é então executada com o valor 2.5. O AssertionError é elevado quando usamos um valor negativo de "r", eu.e., "-1".

Vamos tentar outro exemplo para exibir a ocorrência de um erro de afirmação.

Exemplo

Neste exemplo, o programa determinará se o valor do denominador é diferente de zero.

A mensagem de erro do erro de afirmação é exibida no programa anterior. Criamos duas variáveis ​​(A e B), e os valores inteiros especificam as variáveis. A segunda variável, eu.e., B é então testado para ver se não é igual a 0 usando a declaração assert. Caso contrário, a mensagem de erro é impressa. Caso contrário, o resultado de dividir o primeiro número pelo segundo valor é exibido. Na imagem anterior, a saída do programa é exibida.

Aplicações do AssertionError

Os outros usos benéficos do erro de afirmação incluem:

  • ASSERTION AIDS na avaliação dos valores dos parâmetros
  • Asserções ajudam no monitoramento do tipo de entrada e se esse valor é válido
  • Além disso, as afirmações ajudam a identificar se outro desenvolvedor de código está usando uma interface
  • Asserções ajudam a monitorar continuamente a saída do programa

Como podemos evitar os erros de afirmação no Python

  1. A bandeira -o em um programa Python pode ser usada para desativar todas as declarações de afirmação. É importante ter em mente que as declarações que vêm após uma declaração de afirmação não serão executadas se desativarmos as declarações de afirmação.
  2. A variável de ambiente também pode definir um sinalizador para desativar as declarações de afirmação. Todos os processos e aplicativos que usam ou herdam o ambiente são impactados nesta situação.
  3. Em Python, a abordagem mais simples para evitar erros de afirmação é lidar com eles manualmente. Se garantirmos que o fluxo de controle do programa seja desviado para que ele não acesse as declarações de assert, então não há chance de erros de afirmação.

Manuseando o assertionError

Além da declaração de afirmação, também podemos lidar com o erro de asserção usando os seguintes métodos:

Lidando com o erro de afirmação usando os blocos de tentativa de exceção

A declaração de assert determina se os valores são iguais. O bloco de tentativa levanta o erro AssertionError porque esses números inteiros não são iguais. O comando de impressão é executado após o exceto o bloco ter pego a exceção. Aqui, a saída da declaração de impressão do bloco de exceção é exibida. A palavra -chave Raise pode ser usada para reentar o erro no bloco, exceto para que possamos determinar a fonte da exceção. Quando ocorre uma exceção, a palavra -chave "Raise" levantará um erro e encerrará o programa. Ajuda a manter ou manter um registro/rastrear a exceção existente.

Manuseando o assertionError usando o módulo Traceback

Quando o código contém várias declarações afirmativas, o módulo Traceback ajuda a identificar a fonte do erro exato.

Usando o módulo Traceback, nossa declaração de impressão pode ser escrita com os espaços espaços reservados .

Além disso, podemos definir outras variáveis ​​para armazenar a posição da linha, o nome do arquivo, o nome do método, bem como o texto/mensagem em que a exceção ocorreu.

O objeto Traceback é referido como "TB". Usamos dois espaços reservados: um para o texto e outro para a posição da linha na declaração de impressão.

Os três componentes da declaração "Raise" - exc_type, exc_traceback e exc_value - são devolvidos pelo SYS.função exc_info ().

Manuseando o assertionError usando a instrução de impressão

Para lidar manualmente uma exceção, podemos usar a declaração "imprimir" dentro do bloco, exceto.

A declaração de impressão imprime qualquer mensagem de erro que o usuário insira. Com este método, um erro técnico não será uma preocupação para o usuário.

Em vez de um erro, uma breve mensagem é exibida.

Conclusão

Neste post, vimos pela primeira vez a introdução de exceções no Python. Discutimos assertionError, como funciona e como podemos implementar assertionError no python. Explicamos várias vantagens do assertionError e como podemos evitá -las. Na última seção deste post, vimos como podemos lidar com o AssertionError em Python usando os blocos de tentativa de exceção, módulo Traceback e instrução impressa.