domingo, 6 de julio de 2025

🧪 Python Nivel 2 – Parte 12: Gestión de Errores Personalizados y Excepciones Propias

 

🎯 ¿Qué aprenderás en esta parte?

✅ Cómo definir tus propias excepciones en Python
✅ Cuándo y por qué usar errores personalizados
✅ Cómo lanzar errores con raise
✅ Cómo capturarlos y diferenciarlos de otros errores
✅ Aplicación en sistemas reales: validaciones y reglas de negocio


🧱 ¿Qué son las excepciones personalizadas?

Son clases propias que heredan de Exception y te permiten controlar errores con más precisión y dar mensajes específicos a cada situación.


🔧 Ejemplo básico:


class EdadInvalidaError(Exception): pass def verificar_edad(edad): if edad < 18: raise EdadInvalidaError("Debes ser mayor de edad.")

📦 ¿Por qué usar excepciones propias?

✔️ Identificas claramente el tipo de error
✔️ Mejoras la organización del código
✔️ Ayudas a otros desarrolladores a entender tu lógica
✔️ Puedes aplicar reglas de negocio complejas fácilmente


🧑‍💻 Ejemplo real: Sistema de usuarios


class UsuarioExistenteError(Exception): pass usuarios_registrados = ["ana@mail.com", "luis@mail.com"] def registrar_usuario(email): if email in usuarios_registrados: raise UsuarioExistenteError("El usuario ya está registrado.") usuarios_registrados.append(email)

🧪 Capturando errores personalizados


try: registrar_usuario("ana@mail.com") except UsuarioExistenteError as e: print("⚠️ Error:", e)

🔁 Jerarquía de excepciones propias

Puedes crear subtipos para organizar mejor errores:


class ErrorUsuario(Exception): pass class UsuarioExistenteError(ErrorUsuario): pass class EmailInvalidoError(ErrorUsuario): pass

🧠 ¿Qué aprendiste hoy?

✔️ A crear tus propias excepciones con clases
✔️ A lanzar errores específicos con raise
✔️ A capturar errores personalizados con try-except
✔️ A mejorar la claridad y control de tus validaciones


📂 Código de ejemplo en GitHub:
github.com/josecodetech

🎥 Video paso a paso en YouTube:
https://youtu.be/6gpdqmTc8aE


No hay comentarios:

Publicar un comentario

Se procedera a revision para su pronta publicacion en caso de que no incumpla las normas de blogger.