Python es un lenguaje de programación cada vez más extendido y más utilizado, entre otras cosas, porque su código es abierto y porque, se supone, que es fácil de utilizar. ¡Pero hay que saber! También tener algunas nociones básicas, como qué son las funciones Python, o qué hacer cuando se produce un error.
Y esto último es, precisamente, lo que nos ocupa ahora. Porque las excepciones en Python se producen cuando hay un error en el funcionamiento normal del programa. Y tan importante es saber cómo funciona, como saber qué hacer cuando deja de hacerlo correctamente. ¿No crees?
Vamos a ver un par de ejemplos para que se entienda mejor antes de seguir:
- ✅ Ejemplo 1: si el programa intenta dividir un número entre cero, dará error.
- ✅ Ejemplo 2: si en una lista de frutas, introduces como término de búsqueda un número, dará error igualmente.
Errores y excepciones en Python
Los errores en Python se dividen en dos categorías, los de sintaxis y las excepciones. ¡Vamos a ver en qué se diferencian!
Errores de sintaxis
Los errores de sintaxis suceden cuando el código no sigue la estructura correcta.
Excepciones
Son errores en el tiempo de ejecución que pueden ser manejados con try except.
Ya que tenemos una primera noción, vamos a continuar profundizando. No desesperes, te daremos ejemplos de cada paso que demos.
👆 Pero antes: ¿sabes qué es un diccionario de Python y para qué sirve? Es uno de los puntos más interesantes a tener en cuenta si quieres profundizar en este lenguaje de programación.
Errores de sintaxis en Python
Un error de sintaxis ocurre cuando el código no sigue la gramática de Python.
🚨 Ejemplo de error de sintaxis:

✅ Solución: asegurar que el código esté correctamente escrito antes de ejecutarlo. En este caso, olvidar algo como un paréntesis puede hacer que el programa deje de funcionar correctamente.
Excepciones en Python: qué son y cómo funcionan
Por su parte, las excepciones en Python ocurren cuando el intérprete encuentra un problema durante la ejecución.
🚨 Ejemplo de excepción común: como comentábamos en los ejemplos de más arriba, dividir un número entre cero dará error, como en este ejemplo. ¿Qué se puede hacer en este caso?

✅ Solución: en estos casos se utiliza try except. ¡Sigue leyendo para saber cómo se hace!
👆 Te interesa: ¿quieres saber qué son los bucles en Python para manejar grandes cantidades de datos? También agilizan la labor de programar, ya que permiten desarrollar de forma automática algunas tareas, para no tener que repetirlas una y otra vez...
!= 0 en Python significa que no es igual a cero. La sintaxtis != es un operador que indica que no es igual, al añadirle un número, se especifica que algo no es igual a ese número, en este caso a cero.
Cómo manejar excepciones en Python con ‘try except’
Para manejar excepciones en Python se utiliza try except, que sirve para controlar los errores y que el programa no falle o se detengan cuando estos ocurren.
- Ejemplo básico de try except en Python:

En este caso, para evitar que se produzca el error, se especifica, a través de "except" que no se puede dividir por cero.
- Capturar múltiples excepciones:

En este caso, además de lanzar ZeroDivisionError, si se pone cero, se añade ValueError en el caso de que el error sea, por ejemplo, poner una letra.
- Uso de else y finally en try except:
En este caso else se ejecuta si no hay excepción y finally se ejecuta siempre, haya error o no.

🤔 ¿Sabes qué es la POO en Python? La también llamada Programación Orientada a Objetos en Python sirve para que puedas ordenar tu código, y también es uno de los puntos básicos para empezar a aprender.
Cómo lanzar excepciones en Python con raise
Podemos forzar una excepción con raise, para que la persona que está programando decida un supuesto con el que se detiene el programa.
🚨 Ejemplo:

En el caso de este ejemplo, sería que el programa se detenga en un verificador de edad cuando la persona sea menor de 18 años.
Encadenamiento de excepciones en Python
Podemos encadenar excepciones usando raise from, para plasmar varias excepciones seguidas.

Cómo definir excepciones personalizadas en Python
También es posible crear nuestras propias excepciones heredando de "Exception". Esto es útil para personalizar tu código, y para poder anticipar posibles errores.

Cómo limpiar recursos con finally y with
- Uso de finally para liberar recursos: esto se refiere a dejar de usar algunos recursos para que el sistema funcione de forma óptima, sería por ejemplo, cerrar los archivos que no se estén utilizando.

- Uso de with para manejar archivos:

✅ Al usar with para abrir los archivos nos aseguramos de que el archivo se cierra correctamente y, aunque suceda algún error, el archivo se cerrará igualmente.
Gestión de múltiples excepciones no relacionadas
En Python también podemos manejar múltiples excepciones que no están relacionadas entre sí en un mismo bloque except. Se hace utilizando varios bloques except dentro de un bloque try. Uno para explicar cada variante de error que queremos encadenar.

El manejo de las excepciones en Python es uno de los puntos importantes, ya que conocer estas reglas evitará que se produzcan errores en el programa, como se producen también si se usan las nomenclaturas ilegales en Python. También los puedes prevenir y solucionar, si es que acontecen, así es que es un punto clave.
Una variable ilegal en Python se refiere a nombres en Python que no se pueden usar porque no cumplen con las normas del lenguaje de Python y que, de usarlos, podrían provocar un error. Son, por ejemplo, las que contienen espacios, cuando empiezan por un número, si son iguales a las palabras especiales de Python, que están reservadas por el propio programa, etc.
🤔 ¿Qué hacer para manejar las excepciones correctamente? Algunas de las recomendaciones para ello más importantes son, en primer lugar, comprender bien qué son y cómo se usan, como hemos visto a lo largo de este artículo. También usar siempre try except para evitar errores inesperados, definir excepciones personalizadas para mejorar la depuración de tu código, utilizar finally y with para liberar recursos, como también hemos visto más arriba.
Si ya tienes un cierto manejo, también es recomendable que lances tus propias excepciones, ya que serás la persona que mejor conoce su código y tendrá la capacidad de detectar y prevenir los errores, adelantándose a ellos.
Y recuerda que, la mejor manera de solucionar los errores es, precisamente, anticiparse a ellos. Por eso, ten en cuenta cuáles son los errores más comunes y verifica que no se dan en tu código; cuando generes excepciones, hazlo de la manera más clara y concisa posible; haz pruebas, cometiendo errores intencionadamente para ver la manera de solucionarlos, y practica, practica y practica, ¡es la mejor manera de aprender aunque te equivoques!