Manejo de excepciones de Python:probar, atrapar, finalmente y aumentar [Ejemplo]
¿Qué es un manejo de excepciones en Python?
Una excepción es un error que ocurre en el momento de la ejecución de un programa. Sin embargo, mientras ejecuta un programa, Python genera una excepción que debe manejarse para evitar que su programa se bloquee. En el lenguaje Python, las excepciones se activan automáticamente con los errores, o pueden ser activadas e interceptadas por su código.
La excepción indica que, aunque el evento puede ocurrir, este tipo de evento ocurre con poca frecuencia. Cuando el método no puede manejar la excepción, se lanza a su función de llamada. Eventualmente, cuando se lanza una excepción de la función principal, el programa termina abruptamente.
En este tutorial de manejo excepcional de Python, aprenderá:
- ¿Qué es una excepción en Python?
- Ejemplos comunes de excepción
- ¿Por qué debería usar Excepciones?
- Reglas de excepciones
- Mecanismo de manejo de excepciones de Python
- Declaración de prueba de Python
- Declaración de captura de Python
- Levantar declaración en Python
- Errores importantes de Python
- Otras excepciones importantes de Python
- Error frente a excepciones
Ejemplos comunes de excepción:
- División por cero
- Acceso a un archivo que no existe.
- Adición de dos tipos incompatibles
- Intentando acceder a un índice inexistente de una secuencia
- Eliminar la tabla del servidor de base de datos desconectado.
- Retiro en cajero automático de más de la cantidad disponible
¿Por qué debería usar Excepciones?
Estas son las razones para usar excepciones en Python:
- El manejo de excepciones le permite separar el código de manejo de errores del código normal.
- Una excepción es un objeto Python que representa un error.
- Al igual que con los comentarios de código, las excepciones le ayudan a recordar lo que espera el programa.
- Aclara el código y mejora la legibilidad.
- Le permite estimular las consecuencias ya que el manejo de errores se lleva a cabo en un lugar y de una manera.
- Una excepción es un método conveniente para manejar mensajes de error.
- En Python, puede generar una excepción en el programa utilizando el método de excepción de generación.
- Generar una excepción lo ayuda a interrumpir la ejecución del código actual y devuelve la excepción a la expectativa hasta que se maneja.
- Excepciones de procesamiento para componentes que no pueden manejarlos directamente.
Reglas de excepciones
Estas son algunas reglas esenciales del manejo de excepciones de Python:
- Las excepciones deben ser objetos de clase
- Para las excepciones de clase, puede usar la instrucción try con una cláusula excepto que menciona una clase en particular.
- Incluso si una declaración o expresión es sintácticamente correcta, puede mostrar un error cuando se intenta ejecutarla.
- Los errores encontrados durante la ejecución se denominan excepciones y no son incondicionalmente fatales.
Mecanismo de manejo de excepciones de Python
El manejo de excepciones es administrado por las siguientes 5 palabras clave:
- intentar
- atrapar
- finalmente
- lanzar
Declaración de prueba de Python
Una declaración de prueba incluye la palabra clave prueba, seguida de dos puntos (:) y un conjunto de código en el que pueden ocurrir excepciones. Tiene una o más cláusulas.
Durante la ejecución de la declaración de prueba, si no se produjeron excepciones, el intérprete ignora los controladores de excepciones para esa declaración de prueba específica.
En caso de que se produzca alguna excepción en una suite de prueba, la suite de prueba caduca y el control del programa se transfiere al controlador de excepción coincidente que sigue a la suite de prueba.
Syntax: try: statement(s)
La declaración de captura
Los bloques Catch toman un argumento a la vez, que es el tipo de excepción que es probable que atrape. Estos argumentos pueden variar desde un tipo específico de excepción que se puede variar hasta una categoría general de excepciones.
Reglas para el bloque catch:
- Puedes definir un bloque catch usando la palabra clave catch
- El parámetro Catch Exception siempre está entre paréntesis
- Siempre representa el tipo de excepción que captura los identificadores de bloque.
- Un código de manejo de excepciones se escribe entre dos {} llaves.
- Puedes colocar múltiples bloques catch dentro de un solo bloque try.
- Puedes usar un bloque catch solo después del bloque try.
- Todo el bloque catch debe ordenarse de subclase a excepción de superclase.
Ejemplo:
try } catch (ArrayIndexOutOfBoundsException e) { System.err.printin("Caught first " + e.getMessage()); } catch (IOException e) { System.err.printin("Caught second " + e.getMessage()); }
Declaración final en Python
Finalmente, el bloque siempre se ejecuta independientemente de que se produzca una excepción o no. La palabra clave final le permite crear un bloque de código que sigue a un bloque de prueba y captura.
Finalmente, la cláusula es opcional. Se pretende definir las acciones de limpieza que deben ejecutarse en todas las condiciones.
try: raise KeyboardInterrupt finally: print 'welcome, world!' Output Welcome, world! KeyboardInterrupt
Finalmente, la cláusula se ejecuta antes de la declaración de prueba.
Declaración de aumento en Python
La declaración de aumento especifica un argumento que inicializa el objeto de excepción. Aquí, una coma sigue al nombre de la excepción y el argumento o tupla del argumento que sigue a la coma.
Sintaxis:
raise [Exception [, args [, traceback]]]
En esta sintaxis, el argumento es opcional y, en el momento de la ejecución, el valor del argumento de excepción siempre es ninguno.
Ejemplo:
Una excepción de Python puede ser cualquier valor, como una cadena, una clase, un número o un objeto. La mayoría de estas excepciones que plantea el núcleo de Python son clases con un argumento que es una instancia de la clase.
Errores importantes de Python
Tipo de error | Descripción |
---|---|
Error aritmético | ArithmeticError actúa como una clase base para todas las excepciones aritméticas. Se genera por errores en operaciones aritméticas. |
Error de importación | ImportError aparece cuando intenta importar un módulo que no se presenta. Este tipo de excepción ocurre si cometió un error al escribir el nombre del módulo o el módulo que no está presente en la ruta estándar. |
Error de índice | Se genera un IndexError cuando intenta referir una secuencia que está fuera de rango. |
Error de tecla | Cuando una clave específica no se encuentra en un diccionario, se genera una excepción KeyError. |
Error de nombre | Se genera un NameError cuando se hace referencia a un nombre en un código que nunca existe en el espacio de nombres local o global. |
ValorError | El error de valor se genera cuando una función u operación integrada recibe un argumento que puede ser del tipo correcto pero no tiene un valor adecuado. |
EOFerror | Este tipo de error surge cuando una de las funciones integradas (input() o raw_input()) alcanza una condición EOF sin leer ningún dato. |
Error de división cero | Este tipo de error aparece cuando se realiza una división o un módulo por cero para todos los tipos numéricos. |
IOError- | Este tipo de error aparece cuando falla una operación de entrada/salida. |
Error de sintaxis | SyntaxErrors generados cuando hay un error en la sintaxis de Python. |
Error de sangría | Este error aparece cuando la sangría no está definida correctamente |
Otras excepciones importantes de Python
Excepción | Descripción |
---|---|
Excepción aritmética | Error aritmético, como dividir por cero. |
Excepción ArraylndexOutOfBounds | El índice de matriz está fuera de los límites. |
Excepción ArrayStore | Assignment te ayuda con el elemento de matriz de un tipo incompatible. |
ClassCastException | Reparto no válido |
MlegalMonitorStateException | Operación de monitor ilegal, como esperar en un hilo desbloqueado. |
MlegalStateException | El entorno o la aplicación están en un estado incorrecto. |
Excepción ClassNotFound | Clase no encontrada. |
Excepción CloneNotSupported | Intente clonar un objeto que no implementa la interfaz Cloneable. |
Excepción de acceso ilegal | Se deniega el acceso a una clase. |
Excepción de instanciación | Ocurre cuando intenta crear un objeto de una interfaz o clase abstracta. |
Excepción CloneNotSupported | Intento de clonar un objeto que no implementa la interfaz. |
Error frente a excepciones
Error | Excepciones |
---|---|
Todos los errores en Python son del tipo no verificado. | Las excepciones incluyen tanto el tipo marcado como el no marcado. |
Se producen errores en tiempo de ejecución que el compilador desconoce. | Las excepciones se pueden recuperar manejándolas con la ayuda de bloques try-catch. |
La mayoría de los errores se deben al entorno en el que se ejecuta una aplicación. | La propia aplicación genera excepciones. |
Ejemplos: Error de memoria insuficiente | Ejemplos: Excepciones comprobadas, excepción SQL, NullPointerException, etc. |
Resumen
- Una excepción es un error que ocurrió durante la ejecución de un programa.
- La excepción indica que, aunque el evento puede ocurrir, este tipo de evento ocurre con poca frecuencia.
- Ejemplos comunes de excepción son 1) División por cero, 2) Acceso a un archivo que no existe, 3) Adición de dos tipos incompatibles.
- Una excepción es un objeto Python que representa un error.
- Una declaración de prueba incluye la palabra clave prueba, seguida de dos puntos (:) y un conjunto de código en el que pueden ocurrir excepciones. Tiene una o más cláusulas.
- Los bloques Catch toman un argumento a la vez, que es el tipo de excepción que es probable que atrape.
- La instrucción raise especifica un argumento que inicializa el objeto de excepción.
- Finalmente, el bloque siempre se ejecuta independientemente de que se produzca una excepción o no.
python
- Tipos de datos de Python
- Operadores de Python
- Declaración de paso de Python
- Argumentos de la función de Python
- Diccionario de Python
- Manejo de excepciones de Python Uso de la instrucción try, except y finalmente
- Iteradores de Python
- Cierres Python
- Manejo de excepciones de Java
- Prueba de Java ... captura
- Manejo de excepciones de C++:ejemplo Try, Catch, throw