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.
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.
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í.
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
Pon a Prueba tu Conocimiento
Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema
📝 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