¿Qué es una excepción en Python?
Una excepción es un error que ocurre cuando se ejecuta un programa. Sin embargo, al ejecutar un programa, Python genera una excepción que debe manejarse para evitar su programa. En el lenguaje Python, las excepciones desencadenan errores automáticamente, o su código puede desencadenarlos e interceptarlos.
La excepción sugiere que si bien el incidente puede ocurrir, este tipo de evento es raro. Cuando el método no puede manejar la excepción, se lanza a su función de llamada. Finalmente, cuando se lanza una excepción a la función principal, el programa se termina abruptamente.
En este tutorial excepcional sobre el manejo de Python, aprenderá:
Ejemplos comunes de excepciones:
- División con cero
- Acceso a un archivo que no existe.
- Agrega dos tipos incompatibles
- Intentando encontrar un índice de secuencia inexistente
- Elimine la tabla del servidor de base de datos desconectado.
- Retiro en cajero automático mayor que lo que está disponible
¿Por qué debería utilizar Excepciones?
Aquí hay algunas razones para usar excepciones en Python:
- El manejo de excepciones le permite separar un código de manejo de errores del código normal.
- Una excepción es un objeto de Python que indica 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 desencadenar consecuencias ya que el manejo de errores se realiza en un solo 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 generada.
- Generar una excepción lo ayuda a interrumpir la ejecución del código actual y restaurar la excepción hasta que se maneja hasta que se maneja.
- Procesamiento de excepciones para componentes que no se pueden manejar directamente.
Excepciones a las reglas
Aquí hay algunas reglas esenciales para manejar la excepción de Python:
- Las excepciones deben ser cosas de clase
- Para las excepciones de clase, puede usar una declaración de prueba con una cláusula en lugar de mencionar una clase en particular.
- Incluso si una declaración o expresión es sintéticamente 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 manipulación excepcional
El manejo de excepciones se gestiona con las siguientes 5 palabras clave:
- intentalo
- captura
- finalmente
- lanzar
La declaración de prueba
Una declaración de prueba incluye un intento de palabra clave, seguido de dos puntos (:) y un conjunto de código donde pueden ocurrir excepciones. Tiene una o más cláusulas.
Durante la ejecución de la declaración de prueba, si no se produce ninguna excepción, el intérprete ignora los controladores de excepción para esa declaración de intento específica.
En caso de que ocurra alguna excepción en una serie de intentos, la serie de prueba expira y el control del programa cambia a la coincidencia en lugar del controlador que sigue a la serie de prueba.
Syntax: try: statement(s)
La declaración de arresto
Los bloques de captura toman un argumento a la vez, que es el tipo de excepción que probablemente lo detecte. Estos argumentos pueden variar de un tipo específico de excepción que puede cambiarse a una categoría excepcionalmente exhaustiva.
Reglas de bloqueo de arresto:
- Puede definir un bloque de captura mediante la captura de palabras clave
- El parámetro Capture Exception siempre está entre paréntesis
- Siempre indica el tipo de excepción que maneja un bloque de captura.
- Se escribe un código de manejo de excepciones entre dos llaves {}.
- Puede colocar varios bloques de captura dentro de un solo bloque de intento.
- Solo puede usar un bloque de captura después de que se haya intentado realizar el bloqueo.
- Todos los bloqueos de arrestos deben 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()); }
Finalmente bloquear
Finalmente, un bloque siempre se ejecuta independientemente de si se lanza una excepción o no. La palabra clave final le permite crear un bloque de código que sigue a un bloque try-capture.
Finalmente, hay una cláusula opcional. Está destinado a definir las actividades de limpieza que deben realizarse en todas las condiciones.
try: raise KeyboardInterrupt finally: print 'welcome, world!' Output Welcome, world! KeyboardInterrupt
Finalmente, se ejecuta una cláusula antes de intentar una declaración.
La declaración de aumento
La declaración de aumento especifica un argumento que inicia el objeto de la excepción. Aquí, una coma sigue al nombre de la excepción y un argumento o tupla del argumento sigue a la coma.
Sintaxis:
raise [Exception [, args [, traceback]]]
En esta sintaxis, el argumento es opcional y, en el momento de su ejecución, el valor del argumento no siempre es excepcional.
Ejemplo:
Una excepción de Python puede tener cualquier valor como cadena, clase, número u objeto. La mayoría de estas excepciones son clases argumentativas que son un ejemplo de la clase que eleva el corazón de Python.
Errores importantes de Python
Tipo de error | Suelte |
Error aritmético | ArithmeticError sirve como un principiante para todas las excepciones aritméticas. Se plantea debido a errores en las operaciones aritméticas. |
ImportError | ImportError se genera cuando intenta importar un módulo que no está presente. Se produce una excepción a esto si cometió un error de escritura en el nombre del módulo o en el módulo que no está presente de forma normal. |
IndexError | El índice de error se eleva cuando intenta transmitir una secuencia que está fuera de rango. |
KeyError | Cuando no se encuentra una clave específica en un diccionario, se genera la excepción KeyError. |
NameError | NameError El error se genera cuando se hace referencia a un nombre en el código que nunca existe en el nombre del espacio local o global. |
ValueError | Se produce un error de valor cuando una función u operación incorporada encuentra un argumento que puede ser del tipo correcto pero no un valor adecuado. |
EOFerror | Este tipo de error surge cuando una de las funciones integradas (input () o raw_input ()) alcanza la condición EOF sin leer ningún dato. |
ZeroDivisonError | Este tipo de error ocurre cuando una partición o módulo se somete a cero para todos los tipos numéricos. |
IOError- | Se produce un error de este tipo cuando falla la operación de entrada / salida. |
error de sintaxis | SyntaxErrors que se generan cuando hay un error de sintaxis de Python. |
IndentationError | Este error se genera cuando la sangría no está definida correctamente |
Otras excepciones importantes de Python
Excepción | Suelte |
ArithmeticException | Error aritmético, como división por cero. |
ArraylndexOutOfBoundsException | Un índice de matriz está fuera de los límites. |
ArrayStoreException | La asignación le ayuda a hacer que el elemento de la matriz sea incompatible. |
ClassCastException | Reparto no válido |
MlegalMonitorStateException | Operación de monitor ilegal, como esperar un hilo desbloqueado. |
MlegalStateException | El entorno o la implementación están en malas condiciones. |
ClassNotFoundException | Clase no encontrada. |
CloneNotSupportedException | Intente clonar un objeto que no implemente la interfaz Cloneable. |
Excepción de acceso ilegal | Se niega el acceso a una clase. |
InstantiationException | Ocurre cuando intentas crear un objeto de una interfaz o una clase abstracta. |
CloneNotSupportedException | Intente clonar un objeto que no implemente la interfaz. |
Error frente a excepciones
Error | Excepciones |
Todos los errores en Python son del tipo no seleccionado. | Las excepciones incluyen el tipo marcado y no marcado. |
Se producen errores en tiempo de ejecución que son desconocidos para el compilador. | Las excepciones se pueden recuperar manipulándolas con la ayuda de bloques de prueba. |
El entorno en el que se ejecuta una aplicación se debe principalmente a errores. | Las excepciones son el motivo de la aplicación en sí. |
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 sugiere que si bien el incidente puede ocurrir, este tipo de evento es raro.
- Ejemplos de excepciones comunes son 1) División por cero, 2) Acceder a un archivo que no existe, 3) Agregar dos tipos incompatibles.
- Una excepción es un objeto de Python que muestra un error.
- Una declaración de prueba incluye un intento de palabra clave, seguido de dos puntos (:) y un conjunto de código donde pueden ocurrir excepciones. Tiene una o más cláusulas.
- Los bloques de captura toman un argumento a la vez, que es el tipo de excepción que probablemente lo detecte.
- La declaración de aumento especifica un argumento que inicia el objeto de la excepción.
- Finalmente, un bloque siempre se ejecuta independientemente de que se emita una excepción.