Cela signifie que toutes tes fonctions membres vont devoir vérifier que l'état de l'objet Music est bien ouvert et fonctionnel. Alors qu'un constructeur qui throw rend tout simplement impossible d'utiliser l'objet.
OK, mais ensuite ? Qu'est-ce que le programme doit faire pour continuer ?
Si on s'en tient aux erreurs ayant trait à la programmation pure et pas au système (manque de mémoire, par exemple), qu'est-ce qu'une exception apporte ?
On est au même point que si le programme avait tout simplement vérifier le contexte avant de procéder à la construction.
Plus l'échec est tardif dans la construction, plus on va devoir défaire du travail pourtant réussi.
Au lieu de vérifier avant, on tente en espérant que ça passe, mais dans les deux cas de toute façon il faut gérer 1) l'arrêt (throw, ...) et 2) l'échec, donc le système d'exceptions n'apporte rien à part un vocabulaire supplémentaire et des algorithmes qui se déroulent de haut en bas mais aussi en travers.
C'est assez curieux quand on voit la réputation du switch-break, et plus généralement des return en milieu de bloc.
[^] # Re: Je n'aime pas la SFML
Posté par Pazns . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 2.
OK, mais ensuite ? Qu'est-ce que le programme doit faire pour continuer ?
Si on s'en tient aux erreurs ayant trait à la programmation pure et pas au système (manque de mémoire, par exemple), qu'est-ce qu'une exception apporte ?
On est au même point que si le programme avait tout simplement vérifier le contexte avant de procéder à la construction.
Plus l'échec est tardif dans la construction, plus on va devoir défaire du travail pourtant réussi.
Au lieu de vérifier avant, on tente en espérant que ça passe, mais dans les deux cas de toute façon il faut gérer 1) l'arrêt (
throw, ...) et 2) l'échec, donc le système d'exceptions n'apporte rien à part un vocabulaire supplémentaire et des algorithmes qui se déroulent de haut en bas mais aussi en travers.C'est assez curieux quand on voit la réputation du
switch-break, et plus généralement desreturnen milieu de bloc.