Maison >développement back-end >C++ >Pourquoi les spécifications d'exception dans les signatures de fonctions C sont-elles considérées comme de mauvaises pratiques ?

Pourquoi les spécifications d'exception dans les signatures de fonctions C sont-elles considérées comme de mauvaises pratiques ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-01 03:34:02680parcourir

Why are Exception Specifications in C   Function Signatures Considered Poor Practice?

Spécifications des exceptions dans les signatures de fonction

Question :

Pourquoi utilise-t-on le "throw" mot-clé dans une signature de fonction considéré comme une mauvaise pratique en C ?

Réponse :

L'utilisation du mot-clé "throw" dans une signature de fonction est généralement déconseillée. Au lieu de cela, il est recommandé de gérer les exceptions au sein de la fonction et de les propager via la valeur de retour ou un code d'erreur.

La spécification d'exception dans une signature de fonction spécifie les exceptions qu'une fonction peut lever. Cependant, le compilateur ne peut pas appliquer cette déclaration. Il est vérifié au moment de l'exécution, ce qui n'est pas souhaitable en raison de ses implications en termes de performances.

De plus, les spécifications d'exception ne sont pas bien prises en charge par de nombreux compilateurs. Par exemple, Microsoft Visual C ignore les spécifications d'exception, à l'exception de "throw()", qu'il interprète comme une garantie qu'aucune exception ne sera levée. Cette incohérence s'ajoute aux problèmes potentiels causés par l'utilisation de spécifications d'exception.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn