Manejo de excepciones en Python: Manejo de excepciones usando Try Except

Publicado: 2021-06-29

Al encontrar un error, un programa de Python se termina. Los errores son generalmente problemas que ocurren en un programa que detiene su ejecución. Los errores pueden deberse a un error de sintaxis o pueden ser una excepción. Cada vez que el analizador detecta una declaración incorrecta, se produce un error de sintaxis.

Sin embargo, cuando el código con la sintaxis correcta genera un error, se lo conoce como una excepción. Varias excepciones integradas están disponibles en python. Estos se generan con la ocurrencia de eventos internos donde se cambia el flujo normal de un programa.

Por lo tanto, las excepciones pueden definirse como ciertas condiciones inusuales del programa que dan como resultado una interrupción del código y, por lo tanto, se cancela el flujo del programa.

La ejecución de un programa se detiene tan pronto como encuentra una excepción. Esto detiene aún más la ejecución del código. Por lo tanto, las excepciones son errores como resultado del tiempo de ejecución que el script de python no puede manejar.

Para el manejo de excepciones en python , el lenguaje de programación python proporciona una solución para que la ejecución del código continúe y no haya interrupciones. La ausencia de manejo de excepciones detiene la ejecución del código que existe después del código que lanza una excepción.

Varias opciones integradas están disponibles en python que permiten la ejecución de un programa sin ninguna interrupción, incluidas las excepciones comunes. Junto con esto, hay una disposición de excepciones personalizadas de Python . Para cualquier programa de python, las excepciones comunes que se pueden generar son:

  • ZeroDivisionError: este tipo de excepción se produce cuando se usa cero para dividir un número.
  • NameError: cada vez que un programa no puede encontrar un nombre, ya sea global o local, se produce este tipo de excepción.
  • IndentationError: la sangría incorrecta da lugar a sangríaError.
  • IOError : la falla de una operación de entrada-salida da como resultado IOError.
  • EOFError: Ocurre en el funcionamiento continuo de un programa aún cuando el

se alcanza el final del archivo.

Tabla de contenido

Levantando una excepción

Para lanzar una excepción bajo ciertas condiciones se usa el aumento.
La ejecución del programa se detiene y la excepción asociada se muestra en la pantalla. La visualización de las excepciones permite a los usuarios saber cuál podría ser el problema subyacente.

En python mediante el uso de la cláusula de aumento, podemos generar una excepción. La aplicación es útil en los casos en que el programa debe detenerse generando una excepción.

Por ejemplo: Supuestamente un programa necesita alrededor de 1 GB de memoria para su ejecución y trata de ocupar 1 GB, en ese caso, para dejar de ejecutar el programa se puede lanzar una excepción.

Sintaxis para generar una excepción:

Excepción_clase,<valor>

Por lo tanto,

  • 'raise' se usa para generar una excepción en un programa.
  • Se puede proporcionar un valor a una excepción que se puede proporcionar al paréntesis.
  • El acceso al valor se puede hacer con la palabra clave "como". El valor dado a la excepción se puede almacenar en la variable de referencia denotada por "e".
  • Para especificar un tipo de excepción, el valor se puede pasar a una excepción.

Error de aserción

Se puede hacer una afirmación en python en lugar de dejar que el programa se bloquee. Se hace una afirmación de que el programa cumple una condición específica. El programa continuará ejecutándose si la condición es verdadera. De lo contrario, el programa lanza una excepción AssertionError cuando la condición resulta ser falsa.

Manejo de excepciones a través del bloque try and except

Las excepciones lanzadas en python son capturadas y luego manejadas por los bloques try y except en python. El código dentro del bloque try se ejecuta normalmente como parte del programa. El otro bloque incluye sentencias que se ejecutan en respuesta a las excepciones lanzadas por el programa en el bloque try.

El programa lanza una excepción cada vez que encuentra un error en un código sintácticamente correcto. Si las excepciones lanzadas no se manejan correctamente, habrá un bloqueo en los programas. En tales escenarios, el bloque de excepción determina la respuesta del programa a esa excepción.

La aplicación de la cláusula try and except se entenderá mejor a través del siguiente ejemplo tomado de la fuente mencionada.

En este caso, cada vez que ocurra una excepción, el programa continuará ejecutándose e informará al usuario que el programa no tuvo éxito en lugar de generar una salida en blanco.

Pago : ideas y temas de proyectos de Python

El programa mostró el tipo de error que se arrojó a través de la llamada de la función. Sin embargo, el error arrojado por la función se puede detectar para tener una idea de lo que realmente salió mal.

Ejecutar el código en una máquina con Windows generará lo siguiente

El mensaje que se muestra en primer lugar indica un AssertionError a través del cual se informa al usuario que la función solo se puede ejecutar en un sistema de sistema operativo Linux. El segundo mensaje proporciona además la información de qué función no se pudo ejecutar.
No existencia si el archivo.log generará una salida con el mensaje "No se pudo abrir el archivo.log".

El programa seguirá ejecutándose ya que es un mensaje que transmite la información al usuario. Hay muchas excepciones integradas disponibles en los documentos de Python. Una excepción como se describe se muestra a continuación.

La inexistencia de file.log en este caso generará el siguiente resultado.

Se pueden detectar varias excepciones mediante el uso de más llamadas a funciones en la cláusula try. Sin embargo, al detectar una excepción, las declaraciones de la cláusula try se detendrán.

La cláusula else

El uso de la cláusula else de declaraciones puede ayudar a instruir al programa para ejecutar un bloque de declaraciones solo cuando no hay excepciones.

La cláusula else se ejecutó solo porque no hubo excepciones. Si el código contiene excepciones, se producirá lo siguiente.

Excepciones personalizadas de Python

Python tiene una serie de excepciones integradas que arrojan un error cada vez que hay algún problema en el programa. Sin embargo, el usuario debe crear algunas excepciones personalizadas en los casos en que se cumpla su propósito.

Se puede crear una nueva clase para definir las excepciones personalizadas. Ya sea directa o indirectamente, estas clases deben derivarse de la clase de excepciones integradas.

Se crea la clase CustomError definida por el usuario que se hereda de la clase Exception. Al igual que las otras excepciones, estas excepciones también se generan mediante el uso de 'raise' con un mensaje de error que es opcional.

Las excepciones definidas por el usuario deben colocarse en un archivo separado siempre que haya un desarrollo de un programa grande de python. Por lo general, es una buena práctica hacer esto y lo siguen la mayoría de los módulos estándar donde las excepciones se definen por separado como errores.py o excepciones.py.

Las excepciones personalizadas de Python son simples y, como las clases normales implementan todo, también siguen lo mismo.

Sintaxis y ejemplos

Consideremos dos variables que son a, y b. La entrada a las variables se toma del usuario y se realiza la división de los números. Ahora, si el denominador ingresado por el usuario es un cero.

Para manejar estas excepciones, se pueden agregar al programa los bloques try-except. Para cualquier tipo de código que lleve a la sospecha de lanzar excepciones. Debe colocarse en el bloque de sentencias try.

Sintaxis de un bloque de prueba

tratar:

#código

excepto Excepción 1:

#código

excepto Excepción2:

#código

#código

Muestra el uso de sentencias try-except donde el código se coloca en el bloque try y se ejecuta cuando no hay excepciones en el código.

Sintaxis de la sentencia else con try-except

tratar

declaraciones #try

Excepto Excepción1

#código

Demás

#ejecución de código cuando no hay excepción

Algunos puntos importantes:

  • La excepción no debe especificarse a través de una declaración de excepción en python.
  • Se pueden declarar múltiples excepciones en un código mediante el uso de un bloque de prueba, ya que puede haber muchas declaraciones dentro de un bloque de prueba que pueden arrojar excepciones de diferentes tipos.
  • Se puede especificar un bloque else con un bloque de prueba que se ejecuta cuando no hay excepciones lanzadas por el bloque de prueba.
  • El bloque else debe contener declaraciones que no sean responsables de generar excepciones.

Lea también: Razones principales por las que Python es popular entre los desarrolladores

Conclusión

En este artículo, discutimos brevemente el concepto de manejo de excepciones en python con algunos ejemplos. Junto con las excepciones integradas, las excepciones personalizadas de Python también se definen brevemente. Ahora, puede conocer la importancia de las excepciones y el manejo de las excepciones en python .

Si está interesado en aprender más sobre el lenguaje python y su implementación en la ciencia de datos, puede consultar el siguiente curso de upGrad "Executive PG Program in Data Science".

El curso en línea está diseñado para todos los profesionales de nivel de entrada que se encuentran dentro del grupo de edad de 21 a 45 años. Con más de 20 sesiones en vivo y conocimiento práctico de más de 14 herramientas y lenguajes de programación, el curso lo guiará hacia la perfección. Cualquier consulta podría ser enviada por mensaje. Nuestro equipo te ayudará.

¿Cuántos tipos de errores hay en Python?

Hay predominantemente 2 categorías distinguibles de errores en Python: errores de sintaxis y excepciones. Errores de sintaxis: los errores de sintaxis se producen cuando cualquier línea de código tiene una sintaxis defectuosa. Este es el error más común y se detecta durante el análisis del programa. Los errores incluyen la falta de un operador, sangría incorrecta, falta de ortografía de palabras clave, falta de dos puntos, paréntesis y otros errores mínimos en la sintaxis. Excepciones: Las excepciones son los errores que se detectan durante la ejecución del programa. Una vez que el programa tiene éxito en la prueba de sintaxis, pasa por una verificación de errores lógicos. Python tiene una rica colección de excepciones integradas. También puede crear excepciones personalizadas definidas por el usuario.

¿Cuál es la diferencia clave entre un error de sintaxis y una excepción?

Un error de sintaxis ocurre cuando el código o una línea de código es sintácticamente incorrecto. Cuando ocurre un error de sintaxis en un código, el programa termina. Podría ocurrir un error de sintaxis al faltar dos puntos o incluso al escribir mal una palabra clave.
Sin embargo, las excepciones son bastante diferentes. Una excepción puede considerarse como una anomalía que interrumpe el flujo del programa. Incluso si el programa es sintácticamente correcto, la excepción puede ocurrir. A diferencia de un error, el código se ejecuta hasta la línea donde ocurre la excepción.

¿Cuál es el papel de la palabra clave raise en Python?

La palabra clave raise se utiliza para generar una excepción en Python. El tipo de error también se puede generar y también puede agregar texto para que se muestre en el momento de generar una excepción. Resulta muy útil cuando necesita verificar su código para entradas.