print("=== MANEJO DE EXCEPCIONES ===")

try:
    numero1 = int(input("Ingrese el primer número: "))
    numero2 = int(input("Ingrese el segundo número: "))

    resultado = numero1 / numero2

except ValueError:

    print("Error: Debe ingresar únicamente números enteros.")

except ZeroDivisionError:

    print("Error: No es posible dividir por cero.")

else:

    print(f"La división es: {resultado}")

finally:

    print("Fin del programa.")

############################################################33

try:
    # Lista con tres elementos
    alumnos = ["Juan", "Pedro", "María"]

    # El índice 5 no existe
    print(alumnos[5])

except IndexError:
    print("Error: El índice indicado no existe en la lista.")

else:
    print("La lista se recorrió correctamente.")

finally:
    print("Fin del programa.")



##################excepciones personalizadas########################

class EdadInvalida(Exception):
    pass


try:

    edad = int(input("Ingrese su edad: "))

    if edad < 0:
        raise EdadInvalida("La edad no puede ser negativa.")

    print(f"Edad: {edad}")

except EdadInvalida as error:

    print(error)

except ValueError:

    print("Debe ingresar un número entero.")

finally:

    print("Fin del programa.")