1 - Manejo básico de excepciones: las sentencias “try” y “except”
Lección 1 del curso Python Nivel Avanzado.
Tabla de contenido
Introducción
En esta primera lección del curso veremos qué es una excepción así como el concepto y la estrategia básica para el manejo de excepciones en Python, usando las sentencias try
y except
.
Video
En el canal de YouTube puedes ver el video completo de esta primera lección:
¿Qué es una excepción?
En el curso Python Nivel Básico hablamos de los errores en nuestros programas, que hacen que la ejecución del código se detenga.
Pues resulta que estos errores pueden ser de dos tipos: los errores de sintaxis y las excepciones.
Retomemos entonces este tema de los errores para entender el significado de una excepción.
Error de sintaxis
Se da cuando simplemente escribimos incorrectamente una línea de código. Una vez corregido este tipo de error, nuestro código se debería ejecutar correctamente.
Excepción
Si ya hemos verificado que nuestro código no tiene errores de sintaxis, pero al ejecutarlo aparece un nuevo error, en este caso estamos hablando de una excepción.
Así que una excepción es un error que detiene la ejecución del código y que aparece a pesar de que nuestro programa no contiene errores de sintaxis.
Tipos de excepciones
Veamos a continuación un listado de algunos de los tipos básicos de excepción en Python (en la documentación online se puede encontrar un listado completo de excepciones incluidas en la Librería Estándar de Python):
- Excepción “NameError”
- Excepción “TypeError”
- Excepción “ValueError”
- Error de índice
- Error de indentación
- Error de importación
El manejo de excepciones
Teniendo en cuenta que una excepción hace que la ejecución de nuestro programa se detenga, tenemos que saber cómo manejarla con antelación para evitar estos comportamientos indeseados. Y esto es precisamente lo que se conoce como el manejo de excepciones.
La herramienta básica para el manejo de excepciones en Python son las sentencias try
y except
. Así que veamos cómo funcionan.
Las sentencias try
y except
La lógica de uso de estas sentencias es sencilla:
- Primero Python intenta (¡en Inglés el verbo es precisamente try!) ejecutar la porción de código dentro de la sentencia
try
. Si no hay excepciones entonces sólo se ejecuta dicha porción sin pasar por el bloqueexcept
. - Pero si por el contrario al intentar ejecutar el bloque
try
aparece una excepción, de inmediato Python ejecuta la porción de código dentro del bloqueexcept
.
Y podemos usar tantas sentencias except
como sean necesarias, dependiendo de la cantidad de excepciones que queramos manejar.
Conclusión
Bien ya tenemos claro el concepto de excepciones en Python, que en esencia son todos los tipos de error diferentes de los errores de sintaxis y también vimos el manejo básico usando las sentencias try
y except
.
Entonces, en la próxima lección veremos en detalle cómo hacer un manejo robusto de estas excepciones, usando las sentencias else
y finally
.