• [^] # Re: Je n'aime pas la SFML

    Posté par (site web personnel) . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 2.

    Les exceptions en C++ n'ont à peu près rien à voir avec les exceptions en Java, hormis le principe général. Déjà, le fait qu'en C++, elles ne soient pas déclarées dans le prototype de la fonction rend leur utilisation très pénible, contrairement à Java.

    Il y a un ensemble des types pouvant être levé comme exception par une fonction. Par défaut, cet ensemble est "ouvert sur tout type". Mais il est possible de spécifier cet ensemble.

    http://en.cppreference.com/w/cpp/language/except_spec

    En C++, les "options" par défaut vont "toujours" dans le sens de la simplicité et des performances optimales. À prendre avec des pincettes :)

    En l'occurrence, spécifier l'ensemble des types d'exceptions pouvant être levées implique la mise en place d'un mécanisme supplémentaire. Java impose toutes sortes de ce genre de mécanismes (introspection et autres) alors qu'en C++ le développeur "choisi".

    Une autre alternative est de préciser les exceptions pouvant être levées dans la documentation de la fonction.