Cargando...

Lanzar un error usted mismo

Hasta ahora el alto salía de la propia línea: una división entre cero, o un nombre que no tenía valor. raise va por otro lado. El alto lo escribes tú en el programa, eliges el nombre y dejas un mensaje corto al lado.

tú escribes el alto, así que water no corre

python
raise ValueError("empty")
print("water")

El programa se queda en raise. En la pantalla salen ValueError y la palabra empty. print("water") no llega a ejecutarse. Aquí no hay ninguna división. Este alto lo arma raise, no una cuenta.

cero tazas entra en el if y lanza el alto

python
cups = 0
if cups < 1:
    raise ValueError("empty")
print("water")

Este programa empieza de nuevo. cups vale 0. Cero es menor que uno, así que entra en el if y raise se ejecuta. La pantalla muestra otra vez el mismo alto: ValueError y la palabra empty. water no se escribe. En esta página nadie atrapa el alto, y por eso el programa termina ahí.

tres tazas se salta raise y escribe water

python
cups = 3
if cups < 1:
    raise ValueError("empty")
print("water")

Este también empieza de nuevo. Ahora cups vale 3. Tres no es menor que uno, así que no entra en el if. raise no se ejecuta. La pantalla escribe solo water y no hay alto.

La línea de raise va sangrada bajo el if. Ese sangrado es lo que la mete dentro. print("water") no va sangrado. Si raise se ejecuta, el programa ya se detuvo y water no tiene turno. Si el if se salta, water sí se ejecuta.

El nombre que pusiste junto a raise es ValueError, no ZeroDivisionError. ZeroDivisionError era el de dividir entre cero. Aquí el número de tazas no sirve, así que el alto se llama ValueError. Si más adelante lo atrapas, except tiene que decir ValueError. except ZeroDivisionError no agarra este. Esa captura no está en los programas de esta página. Lo que va entre comillas es el mensaje. empty lo pusiste tú para que se vea junto al nombre. Python no coloca None ahí.

La página siguiente es archivos. Esta página solo muestra cómo provocas un alto. No abre ningún archivo.

Las tazas y el alto que escribiste

El primer programa se detiene en raise y water no se escribe. Con cups en 0 se entra en el if y llega el mismo alto. Con cups en 3, raise no se ejecuta y la pantalla escribe water. El nombre de este alto es ValueError. La página siguiente es archivos.

🧠 Pon a Prueba tu Conocimiento

Listo para Empezar

Pon a Prueba tu Conocimiento

Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema

❓
4
Preguntas
🎯
70%
Para Aprobar
♾️
∞
Tiempo
🔄
∞
Intentos

📝 Instrucciones

  • Lee cada pregunta cuidadosamente
  • Selecciona la mejor respuesta para cada pregunta
  • Puedes repetir el quiz tantas veces como quieras
  • Tu progreso se mostrará en la parte superior