Python utiliza las cláusulas try
, except
, else
y finally
para manejar excepciones:
try:
resultado = 10 / 0
except ZeroDivisionError:
print("No se puede dividir por cero.")
else:
print("La división fue exitosa.")
finally:
print("Fin del manejo de errores.")
En este ejemplo, el bloque except
captura el ZeroDivisionError
y evita que el programa se bloquee, mostrando un mensaje en su lugar. El bloque finally
se ejecuta siempre, independientemente de si hubo o no una excepción.
Puedes manejar diferentes tipos de excepciones usando múltiples cláusulas except
:
try:
x = int(input("Introduce un número: "))
y = 1 / x
except ValueError:
print("Entrada inválida. Debes introducir un número.")
except ZeroDivisionError:
print("No se puede dividir por cero.")
else:
print(f"Resultado: {y}")
Aquí, se capturan tanto ValueError
(si la entrada no es un número) como ZeroDivisionError
(si el usuario introduce 0).
Python permite definir excepciones personalizadas para manejar casos específicos:
class MiError(Exception):
pass
try:
raise MiError("Un error personalizado ha ocurrido.")
except MiError as e:
print(e)
Esto es útil cuando necesitas manejar errores específicos de tu aplicación que no están cubiertos por las excepciones estándar de Python.
Jorge García
Fullstack developer