Saltar al contenido

Curso de Python – 7. Excepciones

Aprende a capturar y lanzar excepciones en Python con try/except y BufferError, y decide cuáles controlar, con ejercicios de frutas y un contador.

En programación no existen errores como tal, sino que son excepciones. La típica ventana de error simplemente es una excepción que es recogida en esa ventana y se le muestra al usuario, el programa habrá fallado porque habrá una excepción que no se ha controlado y la ha tenido que controlar el sistema operativo.

Teoría

Saltar al contenido del PDF

7.1- Excepciones

Un programa puede generar muchas excepciones, la clave es saber controlarlas, tener medios para localizarlas, cuáles tenemos que controlar y cuáles tenemos que dejar pasar. 

Ejercicios

Ejercicio 7.1-frutas.py

Crea un listado con cinco frutas.

Pregunta al usuario por pantalla el índice del listado para devolvérselo. En caso de que devuelva una excepción tendrá que ser capturada y avisar al usuario del error.

Captura de la consola del ejercicio de frutas: devuelve 'manzana' y 'plátano' y avisa del error al pedir la posición 99

Ejercicio 7.2-contador_limitado.py

Crea un while True que esté siempre iterando y sumando a un contador +1 (e imprímelo).

El ordenador donde lo ejecutamos está un poco limitado y no puede darse que el contador sea mayor que 9999. En ese momento se lanzará una excepción BufferError con un mensaje «Se ha superado los 9999 registros», ya que no se podrá sumar más. Si ejecutas con este código (ahora, sin avanzar más en el ejercicio) el programa terminará con un error en tiempo de ejecución.

Captura de la consola con el contador hasta 9999 y el Traceback de BufferError «Se ha superado los 9999 registros»

Pero no queremos terminar el programa, queremos después del bucle que continúe el programa. Para ello capturaremos la excepción fuera del bucle, será donde mostremos el mensaje de error con el siguiente formato: «Se ha detectado el error ‘{mensaje_del_buffererror}'»

 Y para terminar fuera del bucle imprimiremos el texto: «el código continúa»

Captura de la consola con el contador y el error capturado con try/except; el programa continúa con «el código continua»

«Curso de Python – 7. Excepciones», de Ramón Invarato en jarroba.com, con licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0. Obra registrada en Safe Creative.

Ramón Invarato

Diseño y construyo plataformas de datos y sistemas inteligentes, y me motiva compartir esa experiencia aquí.

Te puede interesar

Comentarios

Deja un comentario


Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.