ExceptionGroup y except*: múltiples excepciones simultáneas
Cómo ExceptionGroup agrupa fallos concurrentes y cómo except* los particiona por tipo sin descartar el resto, con el caso real de TaskGroup.
Cómo ExceptionGroup agrupa fallos concurrentes y cómo except* los particiona por tipo sin descartar el resto, con el caso real de TaskGroup.
Diseña jerarquías de excepciones con atributos informativos, herencia correcta desde Exception y semántica clara para que el caller pueda reaccionar con precisión.
Mecanismos para lanzar, re-lanzar y encadenar excepciones en Python, incluyendo `__cause__`, `__context__` y cuándo usar `from None`.
BaseException, Exception y las subclases clave: por qué la jerarquía importa para capturar errores con precisión quirúrgica o amplitud intencional.
Mecánica exacta de las cuatro cláusulas de manejo de excepciones en Python, orden de evaluación, bare except y cuándo usar else vs try.
Cómo Python usa excepciones como mecanismo de protocolo, la filosofía EAFP frente a LBYL, y cuándo cada enfoque produce el código más correcto.
Cómo los resolvedores de dependencias gestionan conflictos transitivos y por qué librerías y aplicaciones necesitan estrategias distintas con lockfiles.
Comparativa práctica de uv, Poetry y PDM: lockfiles, entornos virtuales y cuándo elegir cada herramienta según tu flujo de trabajo.
Unifica build system, metadatos del proyecto y configuración de herramientas en un solo archivo siguiendo PEP 517, 518 y 621.
Cómo instalar, fijar versiones, capturar dependencias con freeze y reproducir entornos con requirements.txt de forma confiable.