• [^] # 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é à 1.

    si c'est pas très loin, utiliser une exception ne sert à rien par rapport à un code de retour ou un booléen pour gérer un truc immédiat; si c'est très loin, alors tu ne peux rien faire de vraiment très sérieux à part quitter le programme.

    Donc tu préfère ce genre de code ?

    int c()
    {
     if (!some_failure)
     return -1;
     return 123;
    }
    int b()
    {
     int result_c;
     if ((result_c = c()) < 0)
     return result_c;
     return result_c * 456;
    }
    int main()
    {
     int value = b();
     if (value < 0)
     // code d'erreur, je suis obligé d'utiliser une seconde fonction pour récupérer une erreur "humaine"
     std::cout << "code d'erreur: " << value << std::endl;
     else
     std::cout << value << std::endl;
    }

    Plutôt que :

    int c()
    {
     if (a_failure)
     throw std::runtime_error("error...");
     return 123;
    }
    int b()
    {
     return c() * 456;
    }
    int main()
    {
     try {
     std::cout << b() << std::endl;
     } catch (const std::exception &ex) {
     std::cerr << ex.what() << std::endl;
     }
    }

    AI is a mental disorder