Error de aserción de Python

Error De Asercion De Python



Cuando un programa de Python encuentra una condición inesperada mientras se ejecuta, el programa detiene la ejecución y devuelve una excepción. En Python, las excepciones y los errores de sintaxis son las dos categorías principales de errores. Cuando una pieza de código de Python que es sintácticamente válida crea un error, se conoce como generar una excepción/error. El mensaje de error en la última línea define el tipo de excepción preciso y proporciona una descripción para ayudar en la depuración, y una flecha apunta a la línea o ubicación donde ocurrió la excepción. Detectar y administrar excepciones es crucial para evitar un bloqueo repentino del programa. Use una forma diferente de ejecutar el código. Por ejemplo, cuando se produce la excepción especificada. Este tutorial discutirá el AssertionError y cómo puede resolverlo en Python.

¿Qué es un error de aserción en Python?

Los errores de aserción son un concepto de programación que ocurre cuando un programador escribe o crea un bloque de código que se utiliza para declarar que se debe cumplir un criterio o condición antes de que se ejecute el módulo. Como cualquier error de Python, el control se transfiere a la siguiente línea de código si la condición especificada cuando la afirmación se declaró verdadera. Si es falso, por otro lado, se genera un error o una excepción y el programa se detiene. La declaración de afirmación se puede usar en varios lenguajes de programación con sus sintaxis específicas porque es independiente del lenguaje. Es una subclase o una instancia de la clase Exception. Python AssertionError tiene la siguiente sintaxis:

Sintaxis: afirmar condición, mensaje_error (opcional)







Ejemplo

Ingresaremos la edad de una persona como entrada, y si es menor que cero, la consola generará un error de afirmación.





Ahora bien, ¿y si entramos en una edad menor a 0?





La depuración de su código usando este método es más simple, lo que facilita la búsqueda de errores y la corrección de errores en el programa.



Cómo funciona AssertionError en Python

El lenguaje Python incluye una declaración de aserción que se puede usar para generar salidas de mensajes de error simples con aserciones lógicas. Cuando la declaración de aserción falla, se genera una 'excepción' AssertionError. En Python, las clases de excepción se derivan de la clase BaseException. La clase BaseException, que también es la clase base de la clase AssertionError, es de donde se deriva la clase Exception. Siempre debe haber un código de manejo de excepciones apropiado para lidiar con la falla de una declaración de afirmación cada vez que se usa una. El controlador de excepciones predeterminado en Python imprimirá el mensaje de error escrito por el programador, pero el error también se puede manejar o resolver sin un mensaje de error.

Implementando AssertionError en Python

Los siguientes son varios ejemplos de AssertionError en Python:

Ejemplo

En este ejemplo, escribiremos un programa Python para mostrar un AssertionError en un programa que encuentra el área de un círculo.

El valor del radio 'r' se pasa como entrada a una función en el programa anterior que se crea para encontrar el área del círculo. La declaración de afirmación se usa para determinar si el valor proporcionado o el radio 'r' está por debajo de cero, y si se le proporciona un valor negativo, se generará una excepción. El área del círculo se devolverá en función del valor del radio 'r' proporcionado a la función. Primero, la función se ejecuta con un valor de r como 3. Luego, la función se ejecuta con el valor 2.5. El AssertionError se genera cuando usamos un valor negativo de 'r', es decir, '-1'.

Probemos con otro ejemplo para mostrar la aparición de un error de afirmación.

Ejemplo

En este ejemplo, el programa determinará si el valor del denominador es distinto de cero.

El mensaje de error del error de aserción se muestra en el programa anterior. Hemos creado dos variables (a y b), y los valores enteros especifican las variables. La segunda variable, es decir, b se prueba para ver si no es igual a 0 usando la declaración de afirmación. Si se especifica lo contrario, se imprime el mensaje de error. Si no, se muestra el resultado de dividir el primer número por el segundo valor. En la imagen anterior se muestra la salida del programa.

Aplicaciones de AssertionError

Los otros usos beneficiosos del error de aserción incluyen:

  • Ayudas de aserción en la evaluación de los valores de los parámetros
  • Las aserciones ayudan a monitorear el tipo de entrada y si ese valor es válido
  • Además, las aserciones ayudan a identificar si otro desarrollador de código está haciendo un mal uso de una interfaz.
  • Las aserciones ayudan a monitorear continuamente el resultado del programa

Cómo podemos evitar los errores de afirmación en Python

  1. El indicador -O en un programa de Python se puede usar para deshabilitar cada declaración de afirmación. Es importante tener en cuenta que las declaraciones que vienen después de una declaración de afirmación no se ejecutarán si las deshabilitamos.
  2. La variable de entorno también puede establecer un indicador para desactivar las declaraciones de afirmación. Todos los procesos y aplicaciones que utilizan o heredan el entorno se ven afectados en esta situación.
  3. En Python, el enfoque más simple para evitar errores de aserción es manejarlos manualmente. Si nos aseguramos de que el flujo de control del programa se desvíe para que no acceda a las declaraciones de aserción, entonces no hay posibilidad de errores de aserción.

Manejo del error de aserción

 

Además de la declaración de aserción, también podemos manejar el error de aserción usando los siguientes métodos:

Manejo del error de aserción usando los bloques Try-Except

La declaración de afirmación determina si los valores son iguales. El bloque try genera el error AssertionError porque estos enteros no son iguales. El comando de impresión se ejecuta después de que el bloque excepto haya detectado la excepción. Aquí, se muestra la salida de la declaración de impresión del bloque de excepción. La palabra clave raise se puede usar para volver a aumentar el error en el bloque de excepción para que podamos determinar el origen de la excepción. Cuando ocurre una excepción, la palabra clave 'elevar' generará un error y finalizará el programa. Ayuda a mantener o mantener un registro/pista de la excepción existente.

Manejo de AssertionError usando el módulo de rastreo

Cuando el código contiene varias afirmaciones, el módulo de rastreo ayuda a identificar la fuente exacta del error.

Usando el módulo de rastreo, nuestra declaración de impresión se puede escribir con marcadores de posición {}.

Además, podemos definir otras variables para almacenar la posición de la línea, el nombre del archivo, el nombre del método, así como el texto/mensaje donde ocurrió la excepción.

El objeto de rastreo se denomina 'tb'. Usamos dos marcadores de posición: uno para el texto y otro para la posición de la línea en la declaración de impresión.

Los tres componentes de la declaración 'raise' (exc_type, exc_traceback y exc_value) son devueltos por la función sys.exc_info().

Manejo de AssertionError Uso de la declaración de impresión

Para manejar manualmente una excepción, podemos usar la instrucción 'imprimir' dentro del bloque de excepción.

La declaración de impresión imprime cualquier mensaje de error que ingrese el usuario. Con este método, un error técnico no será una preocupación para el usuario.

En lugar de un error, se muestra un breve mensaje.

Conclusión

En esta publicación, vimos por primera vez la introducción de excepciones en Python. Discutimos AssertionError, cómo funciona y cómo podemos implementar AssertionError en Python. Explicamos varias ventajas de AssertionError y cómo podemos evitarlas. En la última sección de esta publicación, vimos cómo podemos manejar AssertionError en Python usando Try-Except Blocks, el módulo de rastreo y la declaración de impresión.