Erro de Asserção do Python

Erro De Assercao Do Python



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, isso é conhecido como gerar uma exceção/erro. A mensagem de erro na última linha define o tipo preciso da exceção e fornece uma descrição para ajudar na depuração, e uma seta aponta para a linha ou local onde a exceção ocorreu. Capturar e gerenciar exceções é crucial para evitar uma falha repentina do programa. Use uma maneira diferente de executar o código. Por exemplo, quando ocorre a exceção especificada. Este tutorial discutirá o AssertionError e como você pode resolvê-lo em Python.

O que é um AssertionError em Python?

Erros de declaraçã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 satisfeita antes que o módulo seja executado. Como qualquer erro do Python, o controle é transferido para a linha de código subsequente se a condição especificada quando a asserção foi declarada verdadeira. Se for falso, por outro lado, um erro ou exceção é gerado e o programa é interrompido. A instruçã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 Exception. Python AssertionError tem a seguinte sintaxe:

Sintaxe: assert condition, error_message(opcional)







Exemplo

Inseriremos a idade de uma pessoa como entrada e, se for menor que zero, o console gerará um erro de declaração.





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





Depurar seu código usando este método é mais simples, facilitando a localização de erros e a correção de bugs no programa.



Como o AssertionError funciona em Python

A linguagem Python inclui uma instrução assert que pode ser usada para gerar saídas de mensagens de erro simples com asserções lógicas. Quando a declaração de declaração falha, uma 'exceção' AssertionError é gerada. 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, é de onde deriva a classe Exception. Sempre deve haver um código de tratamento de exceção apropriado para lidar com a falha de uma instrução assert sempre que uma for usada. O manipulador de exceção padrão em Python imprimirá a mensagem de erro escrita pelo programador, mas o erro também pode ser tratado ou resolvido sem uma mensagem de erro.

Implementando AssertionError em Python

A seguir estão 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 entrada para uma função no programa anterior que é criada para encontrar a área do círculo. A declaração assert é então usada para determinar se o valor fornecido ou o raio “r” está abaixo de zero e, se um valor negativo for fornecido a ele, uma exceção será gerada. A área do círculo será retornada com base no valor do raio “r” fornecido à função. Primeiro, a função é executada com um valor de r igual a 3. A função é então executada com o valor 2,5. O AssertionError é gerado quando usamos um valor negativo de “r”, ou seja, “-1”.

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

Exemplo

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

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

Aplicações de AssertionError

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

  • Asserção auxilia na avaliação de valores de parâmetros
  • As declarações ajudam a monitorar o tipo de entrada e se esse valor é válido
  • Além disso, as asserções ajudam a identificar se outro desenvolvedor de código está fazendo uso indevido de uma interface
  • Asserções ajudam a monitorar continuamente a saída do programa

Como podemos evitar os erros de declaração em Python

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

Manipulando o AssertionError

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

Lidando com o erro de asserção usando os blocos Try-Except

A instrução assert determina se os valores são iguais. O bloco try gera o erro AssertionError porque esses números inteiros não são iguais. O comando print é executado depois que o bloco except detectou a exceção. Aqui, a saída da instrução de impressão do bloco de exceção é exibida. A palavra-chave raise pode ser usada para gerar novamente o erro no bloco except para que possamos determinar a origem da exceção. Quando ocorre uma exceção, a palavra-chave 'raise' gera um erro e encerra o programa. Ele ajuda a manter ou manter um registro/acompanhamento da exceção existente.

Como lidar com o AssertionError usando o módulo de traceback

Quando o código contém várias declarações assert, o módulo traceback ajuda a identificar a origem exata do erro.

Usando o módulo traceback, nossa instrução de impressão pode ser escrita com 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 ocorreu a exceção.

O objeto de rastreamento é chamado de 'tb'. Usamos dois marcadores de posição: um para o texto e outro para a posição da linha na instrução de impressão.

Os três componentes da instrução 'raise' — exc_type, exc_traceback e exc_value — são retornados pela função sys.exc_info().

Manipulando o AssertionError usando a declaração de impressão

Para lidar manualmente com uma exceção, podemos usar a instrução 'print' dentro do bloco except.

A instrução de impressão imprime qualquer mensagem de erro inserida pelo usuário. Com esse 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 em Python. Discutimos AssertionError, como funciona e como podemos implementar AssertionError em Python. Explicamos várias vantagens do AssertionError e como podemos evitá-las. Na última seção desta postagem, vimos como podemos lidar com o AssertionError em Python usando os blocos Try-Except, o módulo traceback e a instrução print.