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:
Como podemos evitar os erros de afirmação no Python
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.