Exactement, et je trouve que ça devient justement peu lisible. Surtout si tu veux faire une gestion d'erreur dans plusieurs méthodes tu fais comment ? Combien de scope guard il va falloir implémenter ?
Tu n'en fait qu'un en template ou tu utilises un lambda.
Mais le scope guard ne sert pas directement à reporter des erreurs, le scope guard te permet de gérer proprement le nettoyage des ressources (les SSL_clean* dans l'example du dessus. Encore mieux, il te permet de garantir que tes ressources seront dés allouées dans l'ordre inverse où elles ont été allouées... te permettant justement de "Juste" retourner ton erreur sans avoir à te préoccuper de désallouer/nettoyer quoi que ce soit.
[^] # Re: Le cas goto
Posté par Firwen (site web personnel) . En réponse au journal Apple, le SSL les goto et les accolades. Évalué à 3.
Tu n'en fait qu'un en template ou tu utilises un lambda.
Mais le scope guard ne sert pas directement à reporter des erreurs, le scope guard te permet de gérer proprement le nettoyage des ressources (les SSL_clean* dans l'example du dessus. Encore mieux, il te permet de garantir que tes ressources seront dés allouées dans l'ordre inverse où elles ont été allouées... te permettant justement de "Juste" retourner ton erreur sans avoir à te préoccuper de désallouer/nettoyer quoi que ce soit.