typestar

try, except, finally en Python

Manejar fallas: atrapa lo que esperas, relanza lo que no.

def division_segura(a, b):
    try:
        resultado = a / b
    except ZeroDivisionError:
        return None
    except TypeError as exc:
        raise ValueError(f"operandos inválidos: {exc}")
    else:
        return resultado
    finally:
        print("se intentó dividir")


mitad = division_segura(1, 2)
nada = division_segura(1, 0)

Cómo funciona

  1. Cada cláusula except apunta a un tipo de excepción.
  2. else corre solo cuando no se lanzó nada.
  3. finally corre en toda ruta de salida.
  4. Atrapar TypeError relanza como un error más claro.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
15
Caracteres a escribir
281
Tokens
64
Ritmo de tres estrellas
100 tpm

Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 38 segundos.

Escribe este fragmento

Paso 4 de 7 en Iteradores, errores y archivos; paso 47 de 72 en Fundamentos del lenguaje.

← Anterior Siguiente →