Sans exceptions, on se retrouve à écrire au moins 3 lignes de code de gestion d'erreur par ligne de code "utile":
Heu... Sans les exceptions ne veut pas dire sans destructeur, donc ça donnerait plutôt :
if(faire_un_truc()){return;}
Et comme avec les exceptions libérer_les_resources(); est à la charge du destructeur.
Quand on compare, il faut comparer sans changer 2 paramètres pour en conclure sur 1 seul, il faut changer 1 paramètres et dans ton exemple tu as supprimé les exceptions et les destructeurs pour conclure sur les exceptions seules.
ça devient très vite le bazar de s'assurer que on a bien libéré toutes les ressources allouées.
Pas pire qu'avec les exceptions.
Alors que avec les exceptions et la RAII en C++, ça se fait tout seul: tous les objets alloués sur la pile sont automatiquement libérés lorsqu'on quitte la fonction.
Pareil avec un return, ou je n'ai pas compris l'idée.
[^] # Re: Pas de fumée sans feu
Posté par Zenitram (site web personnel) . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à 3.
Heu... Sans les exceptions ne veut pas dire sans destructeur, donc ça donnerait plutôt :
Et comme avec les exceptions
libérer_les_resources();est à la charge du destructeur.Quand on compare, il faut comparer sans changer 2 paramètres pour en conclure sur 1 seul, il faut changer 1 paramètres et dans ton exemple tu as supprimé les exceptions et les destructeurs pour conclure sur les exceptions seules.
Pas pire qu'avec les exceptions.
Pareil avec un
return, ou je n'ai pas compris l'idée.