Erreurs structurées en Rust : peser le pour et le contre

2025-06-01

Cet article explore les avantages et les inconvénients de l’utilisation d’erreurs structurées (par exemple, avec `thiserror`) par rapport à `anyhow` dans les applications Rust. S’appuyant sur son expérience de maintenance d’un grand serveur web Rust, l’auteur soutient que les types d’erreurs personnalisés, bien qu’augmentant le volume de code et les coûts de maintenance, offrent des avantages significatifs : montrer clairement tous les modes de défaillance potentiels d’une fonction, améliorant ainsi la lisibilité et la revue de code ; créer des interfaces plus descriptives ; éviter les messages d’erreur redondants ; renforcer l’ajout de contexte ; et permettre des données et des fonctionnalités supplémentaires. Cependant, les inconvénients incluent l’augmentation du volume de code, les défis de la nomenclature, la surcharge de maintenance et les problèmes de performances potentiels. L’auteur conclut que le compromis doit être évalué au cas par cas, suggérant que dans les grandes applications, les avantages des erreurs structurées peuvent l’emporter sur les coûts.

Développement