Excepciones
Las excepciones en Python son eventos que ocurren durante la ejecución de un programa y que interrumpen el flujo normal de ejecución. Cuando se produce una excepción, Python genera un objeto que representa el error ocurrido y busca una sección de código que maneje o capture dicha excepción. Si no se maneja, el programa se detendrá y mostrará un mensaje de error en la consola. Las excepciones son fundamentales para manejar errores y situaciones inesperadas en el código, lo que permite que el programa no se bloquee por completo y pueda recuperarse de posibles problemas.
Lanzamiento de excepciones
Puedes lanzar una excepción manualmente en Python utilizando la palabra clave raise. Puedes crear tus propias clases de excepción personalizadas para manejar casos específicos.
Captura de excepciones
Para manejar excepciones, se utiliza un bloque try junto con uno o más bloques except. En el bloque try, se coloca el código que podría generar una excepción, y en el bloque except, se coloca el código que se ejecutará en caso de que se produzca esa excepción.
Bloque finally
Puedes utilizar un bloque finally para definir código que se ejecutará independientemente de si se produce una excepción o no. El bloque finally se utiliza para limpiar recursos o realizar acciones que deben ocurrir sin importar el resultado del bloque try.
Excepciones múltiples
Puedes capturar múltiples excepciones en un solo bloque except separándolas con paréntesis o en varios bloques except.
Exception
es una clase base en Python que se utiliza para capturar cualquier tipo de excepción que ocurra en un programa. Puedes usar Exception en el bloque except para capturar cualquier error que se produzca durante la ejecución del código. Es útil cuando no sabes exactamente qué tipo de excepción esperar o cuando deseas capturar cualquier excepción de manera genérica.
Raising in except
Puedes volver a lanzar una excepción dentro de un bloque except para propagarla a un nivel superior y manejarla en otro lugar del programa.
Else
El bloque else en las excepciones se utiliza para definir un conjunto de instrucciones que se ejecutarán solo si no se produce ninguna excepción en el bloque try. En otras palabras, el código dentro del bloque else se ejecutará si el bloque try se ejecuta correctamente sin lanzar ninguna excepción. El bloque else es opcional y puede omitirse si no se requiere ejecutar código adicional cuando no se producen excepciones. Sin embargo, es útil para realizar acciones específicas o proporcionar retroalimentación adicional en caso de que el bloque try se ejecute correctamente.
Crear tu propia excepción
Con la clase Exception como base, puedes crear tus propias excepciones personalizadas en Python. Esto te permite definir errores específicos que pueden ocurrir en tu programa y capturarlos de manera distintiva para manejarlos adecuadamente.
Para crear tu propia excepción personalizada, simplemente debes crear una nueva clase que herede de Exception. Puedes personalizar el comportamiento de tu excepción agregando atributos, métodos y mensajes de error específicos según tus necesidades.
En este ejemplo, hemos creado la clase MiError, que hereda de Exception. Hemos agregado un constructor __init__
para inicializar el mensaje de error y un método __str__
para devolver el mensaje personalizado cuando la excepción se imprima como una cadena. Cuando llamamos a la función dividir con el segundo argumento igual a cero, se lanza nuestra excepción personalizada MiError con el mensaje "No se puede dividir entre cero." Luego, capturamos la excepción en el bloque except y mostramos el mensaje personalizado.
Last updated