Je crée un système. Ce que je veux savoir, c'est si un message n'est pas supporté, que devrait-il faire? devrais-je jeter disant msg non pris en charge? devrais-je retourner 0 ou -1? ou devrais-je définir un errno (base-> errno_). Quelques messages je ne ferais pas attention s'il y avait une erreur (telle que setBorderColour). D'autres je voudrais (addText ou peut-être enregistrer si je crée un disque de sauvegarde).à lancer, à retourner ou à errno?
Je veux savoir quelle est la meilleure méthode pour 1) coder rapidement 2) déboguer 3) étendre et maintenir. Je peux faire le débogage 3ème, c'est difficile de déboguer ATM mais c'est beaucoup de code manquant que je n'ai pas rempli dedans. Les bogues réels sont difficiles à corriger. Quel est le meilleur moyen de faire savoir à l'utilisateur qu'il y a une erreur?
Le système fonctionne quelque chose comme ça, mais pas exactement la même chose. Ceci est le style C et mycode a un tas de fonctions en ligne qui enveloppe setText (texte const char *) {à msg (ce, esettext, texte)
Base base2, base;
base = get_root();
base2 = msg(base, create, BASE_TYPE);
msg(base2, setText, "my text");
const char *p = (const char *)msg(base2, getText);
errno de type C est thread-safe; voir http://stackoverflow.com/questions/449778/-there-a-way-to-use-errno-safely-in-a-multi-threaded-application (mais je suis d'accord que "c'est un global, donc vous ne sait jamais qui le réinitialise "). – user9876