Il y a aussi l'héritage par défaut qui change, et les mots-clés ne sont pas strictement equivalents, il existe au moins une exception:Envoyé par koala01
http://c.developpez.com/faq/cpp/?pag...e_class_struct
Mais on a bien compris l'idée![]()
Il y a aussi l'héritage par défaut qui change, et les mots-clés ne sont pas strictement equivalents, il existe au moins une exception:Envoyé par koala01
http://c.developpez.com/faq/cpp/?pag...e_class_struct
Mais on a bien compris l'idée![]()
Je reviens sur des vieux trucs, mais je ne vois pas pourquoi ne pas utiliser les exceptions dans un noyau.Envoyé par Jean-Marc.Bourguet
C'est plus performant que des valeurs de retour et des if/else, et c'est surtout plus robuste, surtout si utilisé avec le RAII.
Je n'ai pas écrit qu'il ne fallait pas les utiliser, j'ai écrit que je ne voyais pas de cas où elles étaient utiles. Je n'ai pas une grande expérience en matière de noyaux, et l'expérience que j'ai est relativement vieille -- il y a plus de 10 ans -- et spécialisée -- un moniteur temps réel.Envoyé par loufoque
On pourrait entrer dans un débat sur les cas où les exceptions sont plus indiquées que les valeurs de retour et inversément, mais je ne crois pas que ce soit le sujet de cette discussion.C'est plus performant que des valeurs de retour et des if/else, et c'est surtout plus robuste, surtout si utilisé avec le RAII.
Pour faire simple, je ne crois pas que les exceptions soient indiquées quand l'erreur n'implique pas d'abandonner le traitement en court, sera vraissemblablement traitée par l'appelant immédiat ou par quelque chose qui n'est vraissemblablement pas sur la pile d'appel actuel (l'exemple le plus simple est un autre "thread" mais le cas auquel je pense est plus compliqué que cela, l'expliquer demanderait d'expliquer la structure de notre moniteur -- et il n'est pas sur que je me souvienne de tout ce qui est pertinent pour l'explication).
Partager