Nivel intermedio8 min

    Manejo de errores en Python — try, except

    Cuando algo falla en Python, se lanza una excepción. Con try/except puedes capturarla y reaccionar en lugar de que el programa se rompa.

    Lo que aprenderás

    try, except, else, finally, tipos de excepciones, raise, excepciones personalizadas

    Estructura try / except

    El código que puede fallar va en try; si lanza una excepción, se ejecuta el except.

    try:
        numero = int(input("Dame un número: "))
        print(10 / numero)
    except ValueError:
        print("Eso no es un número")
    except ZeroDivisionError:
        print("No puedo dividir entre cero")

    else y finally

    else se ejecuta si no hubo excepción. finally se ejecuta siempre, haya excepción o no.

    try:
        archivo = open("datos.txt")
        contenido = archivo.read()
    except FileNotFoundError:
        print("Archivo no encontrado")
    else:
        print(f"Leído: {len(contenido)} chars")
    finally:
        print("Operación terminada")

    Lanzar excepciones con raise

    Usa raise para lanzar tus propias excepciones cuando detectes un estado inválido.

    def dividir(a, b):
        if b == 0:
            raise ValueError("El divisor no puede ser cero")
        return a / b
    
    print(dividir(10, 2))   # 5.0
    # dividir(10, 0)        # ValueError

    Practica ahora mismo

    Has leído cómo funciona Errores en Python. Ahora pruébalo: escribe y ejecuta código en el navegador, sin instalar nada.

    Lecciones relacionadas