Errores estructurados en Rust: sopesando las compensaciones
Este artículo explora las ventajas y desventajas de usar errores estructurados (por ejemplo, con `thiserror`) frente a `anyhow` en aplicaciones Rust. Basándose en la experiencia de mantener un gran servidor web Rust, el autor argumenta que los tipos de error personalizados, aunque aumentan la cantidad de código y los costos de mantenimiento, ofrecen beneficios significativos: mostrar claramente todos los modos de fallo potenciales de una función, mejorando la legibilidad y la revisión del código; crear interfaces más descriptivas; evitar mensajes de error redundantes; reforzar la adición de contexto; y permitir datos y funcionalidades adicionales. Sin embargo, las desventajas incluyen un aumento del volumen de código, desafíos de nomenclatura, sobrecarga de mantenimiento y posibles problemas de rendimiento. El autor concluye que la compensación debe evaluarse caso por caso, sugiriendo que en aplicaciones grandes, las ventajas de los errores estructurados pueden superar los costos.