Imagen de portada del blog

La imagen tiene un fondo azul con cuatro iconos tecnológicos: un símbolo de señal Wi-Fi en la esquina superior izquierda, un portátil en la esquina superior derecha, dos engranajes (uno azul y otro amarillo) en la esquina inferior derecha y un navegador web con "www" en la esquina inferior izquierda. En el centro hay una placa base de computadora. Alrededor de la placa base está el texto "COMUNIDAD TIFLOTEC" en color naranja, formando un semicírculo.

Clase 9: Manejo de errores (Try/Except) y robustez del código


Indicación metodológica de lectura fundamental para el estudiante


Antes de presionar una sola tecla o abrir su Bloc de Notas, lea este capítulo por completo. Si en las clases anteriores aprendimos a crear programas que funcionan bajo condiciones ideales, hoy aprenderemos a enfrentar la realidad: el usuario comete errores, el sistema falla y los datos pueden estar corruptos. Un programa profesional no es aquel que nunca falla, sino aquel que sabe qué hacer cuando el error ocurre. La frustración será parte de esta clase; si el código se rompe, usted debe tener la madurez para identificar la línea exacta del fallo. Mantenga su configuración de lector de pantalla al máximo nivel de detalle.


Introducción


Hasta ahora, si un programa pedía un número y el usuario escribía una letra, el sistema colapsaba con un error técnico incomprensible. Eso termina hoy. Aprenderemos la estructura `try` y `except`, que permite "intentar" ejecutar un código y, si algo sale mal, capturar el error y mostrar un mensaje amable en lugar de permitir que el programa explote. Este capítulo elevará su nivel de programación de "aficionado" a "desarrollador defensivo".


Objetivos del Capítulo


Primero: Implementar la estructura `try` / `except` para gestionar errores en tiempo de ejecución.


Segundo: Identificar tipos de errores comunes como `ValueError` (error de valor) y `ZeroDivisionError` (división por cero).


Tercero: Ampliar el vocabulario con términos de control de excepciones.


Cuarto: Superar el Desafío Mental: "El Filtro de la Verdad".


Quinto: Reforzar la disciplina de orden en la carpeta Bloque Dos antes del segundo examen.


Explicaciones Detalladas


La estructura Try / Except: La defensa contra el caos


La lógica de esta estructura es: "Intenta hacer esto. Si ocurre un error, no detengas el programa, salta directamente a la parte de 'except' y gestiona el problema".


La sintaxis es:

try:

(tabulador) codigo_que_podria_fallar

except:

(tabulador) accion_ante_el_error


Vocabulario técnico obligatorio


Investigue y defina en su cuaderno de respuestas (`Tarea_Nueve.txt`):


1. Excepción: Evento que altera el flujo normal de un programa.

2. Depuración (Debugging): Proceso metódico para encontrar fallos.

3. ValueError: Error cuando una función recibe un valor del tipo correcto pero con valor inapropiado.

4. ZeroDivisionError: Error al intentar dividir cualquier número por cero.

5. Control de flujo: Capacidad de dirigir qué líneas se ejecutan y cuáles no.

6. Gestión de errores: Práctica de anticipar fallos posibles.

7. Código robusto: Programa capaz de manejar situaciones inesperadas.

8. Bloque: Conjunto de líneas de código agrupadas por sangría.

9. Traza de error (Traceback): El mensaje que Python da cuando el programa colapsa.

10. Validar: Comprobar que los datos cumplen los requisitos esperados.


Desafío Mental: El Filtro de la Verdad


Metodología: Este desafío se basa en la "Paradoja de Aquiles y la Tortuga". El objetivo no es resolver la paradoja, sino implementar un sistema que evite que el usuario introduzca datos que lleven al error.

Contexto: Usted está creando un programa de administración de recursos. El usuario debe ingresar la cantidad de suministros y la cantidad de personas. Si intenta dividir por cero (0 personas) o ingresar letras en vez de números, el programa debe "filtrar" la verdad y mostrar un mensaje de advertencia.

Instrucciones:


1. Diseñe el algoritmo en `Laberinto_Mental.txt`.

2. El desafío real: debe hacer que el programa pida los datos de nuevo si el usuario se equivoca, usando un ciclo `while` junto con un `try-except`.

3. Esto es complejo porque debe controlar que el programa no se cierre hasta que los datos sean correctos.

4. Puntuación: Si logra que el usuario no pueda salir del programa hasta que ingrese un número válido, obtendrá la máxima puntuación por pensamiento de sistemas.


Ejemplo Práctico Guiado: El Divisor Inteligente


Paso Uno: Digite este código:


try:

numero = int(input("Ingrese un número para dividir 100: "))

resultado = 100 / numero

print("El resultado es:", resultado)

except ValueError:

print("Error: Debe ingresar un número entero.")

except ZeroDivisionError:

print("Error: No se puede dividir entre cero.")


Paso Dos: Análisis.

Si el usuario ingresa una letra, se dispara `ValueError`. Si ingresa 0, se dispara `ZeroDivisionError`. El programa sobrevive en ambos casos.


Paso Tres: Guárdelo como divisor.py y ejecútelo. Pruebe todas las entradas posibles.


Ejercicios de Refuerzo de Lógica


Cree el archivo `Algoritmos_Capitulo_9.txt` y desarrolle:


Ejercicio 1: Diseñe el algoritmo de un Login que use `try-except` para asegurar que la edad ingresada sea siempre un número.

Ejercicio 2: Algoritmo que convierta una lista de texto a números, capturando errores si algún elemento no es convertible.


Ejercicios Prácticos de Programación en Python


Ejercicio 1: Calculadora a prueba de fallos.

Haga una calculadora que sume dos números, pero proteja la entrada de datos para que si el usuario escribe texto, el programa no se detenga.


Ejercicio 2: El bucle persistente.

Cree un programa que pida un número positivo. Mientras el usuario ingrese números negativos o letras, el programa debe pedir el número de nuevo. Use `while`, `try` y `except`.


Ejercicio 3: Conversor de divisas universal.

Pida una cantidad en moneda local y conviértala a una divisa extranjera. Si la entrada no es numérica, informe del error y pida el dato de nuevo.


Prácticas con tu Lector de Pantalla y CMD


Abra `Tarea_Nueve.txt` en su carpeta Capitulo 9 y responda:


1. ¿Cómo le comunica su lector de pantalla la aparición de un `Traceback` al fallar el programa?

2. ¿Qué diferencia siente al escuchar el mensaje de error personalizado que usted escribió, frente al mensaje técnico que da Python?

3. En la consola CMD, ¿cómo nota usted que el programa `divisor.py` terminó correctamente después de un error capturado?

4. ¿Por qué es necesario indentar el bloque dentro del `try` y el `except`?

5. ¿Qué sucede si escribe `except` sin especificar el tipo de error?

6. ¿Cómo deletrea su lector de pantalla la palabra "except" para asegurarse de que no falte la 't' final?

7. ¿Qué comando de CMD usaría para ver los archivos de este capítulo y confirmar el nombre de `divisor.py`?

8. ¿Cómo verifica con su lector de pantalla que la sangría del `except` es la misma que la del `try`?

9. ¿Qué ventaja técnica tiene capturar errores específicos en lugar de un `except` genérico?

10. ¿Por qué el uso de `try-except` es obligatorio para ser considerado un programador profesional?


Información Institucional sobre la Evaluación


Usted ha llegado al final del Bloque Dos. Esta clase ha sido la más difícil hasta ahora porque requiere prever lo invisible: el error humano. Recuerde: el orden en su equipo es la base de su éxito. La próxima semana nos enfrentamos al **Segundo Examen de Evaluación**. Prepárese, repase sus carpetas, sus apuntes y la lógica de los bucles y errores. Nos vemos el domingo.


Profesor: Diego R. Solano C. 

¿Te ha sido útil este artículo?

Lecturas del artículo: cargando...
Pulsa Enter aquí para leer los comentarios publicados por otros usuarios (0)

Aún no hay comentarios publicados en este artículo. Anímate a ser el primero en dejar uno.

Pulsa Enter aquí para ver los pasos y dejar un comentario nuevo

Cómo dejar un comentario desde tu computadora (JAWS, NVDA o Microsoft Narrator)

Al presionar el botón que aparece más abajo, se abrirá una nueva pestaña del navegador con el formulario oficial de comentarios de Google para esta publicación. El formulario se abre en una página separada para que funcione correctamente con tu lector de pantalla sin interferencias. Sigue estos pasos:

  • Paso 1: Presiona el botón de abajo. Una nueva pestaña se abrirá con el formulario de comentarios.
  • Paso 2: Espera a que la página cargue completamente. Tu lector de pantalla debería anunciar el título de la nueva pestaña automáticamente.
  • Paso 3: Presiona la tecla E para ir al primer cuadro de edición, que es donde debes escribir tu comentario.
  • Paso 4: Escribe tu comentario.
  • Paso 5: Presiona Tab para navegar hasta el botón Publicar y actívalo con Enter.
  • Paso 6: Si Google te pide iniciar sesión con tu cuenta de Google, sigue el proceso de inicio de sesión con Tab y Enter.
  • Paso 7 — Verificación de seguridad: Es posible que Google muestre una verificación de seguridad llamada CAPTCHA, que consiste en una casilla de verificación que dice "No soy un robot". Si aparece, presiona la tecla F para navegar hasta ese campo, luego presiona Espacio para marcarla. En algunos casos puede aparecer una prueba adicional con imágenes; si esto ocurre, sigue las instrucciones en pantalla que leerá tu lector de pantalla.
  • Paso 8 — Cerrar la ventana y regresar: Una vez que hayas enviado el comentario, la ventana de comentarios no se cerrará automáticamente ni regresará al blog por sí sola. Para regresar a la publicación, debes cerrar esa pestaña manualmente. Presiona la combinación de teclas Control + W para cerrar la pestaña activa. Al cerrarla, el navegador volverá automáticamente a la pestaña del blog donde estabas leyendo el artículo. Además, este blog detectará que cerraste la ventana y tu lector de pantalla anunciará que regresaste al artículo.
  • Moderación: Todos los comentarios son revisados antes de publicarse. Tu mensaje no aparecerá de forma inmediata.

Cómo dejar un comentario desde tu dispositivo móvil (TalkBack o VoiceOver)

Al tocar el botón que aparece más abajo, se abrirá una nueva página con el formulario oficial de comentarios de Google para esta publicación. Sigue estos pasos:

  • Paso 1: Toca el botón de abajo. Se abrirá una nueva pestaña con el formulario de comentarios.
  • Paso 2: Espera a que la página cargue por completo. Tu lector de pantalla anunciará el contenido nuevo.
  • Paso 3: Desliza el dedo hacia la derecha hasta encontrar el cuadro de texto para escribir. Tu lector de pantalla anunciará "campo de texto" o "área de edición".
  • Paso 4: Toca dos veces el cuadro de texto para activarlo y escribe tu comentario.
  • Paso 5: Desliza hacia la derecha hasta el botón Publicar y tócalo dos veces para enviar.
  • Paso 6: Si Google te pide iniciar sesión, desliza hacia la derecha para encontrar los campos de correo y contraseña y completa el proceso.
  • Paso 7 — Verificación de seguridad: Es posible que Google muestre una verificación de seguridad llamada CAPTCHA, que consiste en una casilla que dice "No soy un robot". Si aparece, desliza con el dedo hasta encontrarla y tócala dos veces para marcarla. En algunos casos puede aparecer una prueba con imágenes; si esto ocurre, tu lector de pantalla leerá las instrucciones de esa prueba para que puedas completarla.
  • Paso 8 — Cerrar la pestaña y regresar en Android: Una vez enviado el comentario, la pestaña no se cerrará sola. Para regresar al blog, toca el botón de pestañas en tu navegador (en Chrome es un número entre un cuadrado en la parte de abajo o arriba de la pantalla). Busca la pestaña de Comunidad Tiflotec y tócala dos veces para volver a ella. También puedes deslizar hacia arriba o a un lado la pestaña del formulario para cerrarla directamente.
  • Paso 8 — Cerrar la pestaña y regresar en iPhone o iPad: Una vez enviado el comentario, toca el botón de pestañas en Safari (son dos cuadrados superpuestos en la esquina inferior derecha de la pantalla). Verás todas las pestañas abiertas. Busca la de Comunidad Tiflotec y tócala para volver al artículo. Si quieres cerrar la pestaña del formulario, busca su vista previa y desliza hacia la izquierda hasta el botón Cerrar.
  • Moderación: Todos los comentarios son revisados antes de publicarse. Tu mensaje no aparecerá de forma inmediata.