else y finally en Python
Cuatro bloques, cuatro trabajos: try, except, else para el éxito, finally para limpiar.
def leer_numero(texto):
try:
valor = int(texto)
except ValueError:
print("no se pudo convertir")
return None
else:
print("convertido sin problema")
return valor
finally:
print(f"listo con {texto!r}")
print(leer_numero("42"))
print(leer_numero("no"))
Cómo funciona
elsecorre solo cuando no se lanzó ninguna excepción.finallycorre en todos los caminos, incluido un return.- Dejar sola la línea riesgosa en
tryes el punto deelse.
Palabras clave y builtins usados aquí
defelseexceptfinallyintprintreturntry
El intento, en números
- Líneas
- 15
- Caracteres a escribir
- 251
- Tokens
- 65
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 39 segundos.
Paso 2 de 3 en Errores a fondo; paso 63 de 72 en Fundamentos del lenguaje.