Quelles sont vos meilleures pratiques pour la gestion des exceptions C ++?
J'ai cherché sur Internet et trouvé beaucoup d'articles sur ce sujet. Cependant, j'ai trouvé il n'y a pas de remplir la liste de vérification pour vérifier notre code de qualité de l'exception de sécurité.
Donc, je tiens à recueillir de précieuses les meilleures pratiques pour la gestion des exceptions C++ à partir de vous.
J'ai d'abord la liste de certaines pratiques qui sont les miens:
- Attraper toutes les exceptions si une destructeurs:
struct A { ~A() { try { //Here may throw exceptions } catch (std::runtime_error& e) {} catch (...) { logging("..."); } } };
- Ajouter le nom de la fonction, le nom du fichier source et la ligne r à l'exception de l'information.
__func__
__FILE__
et__LINE__
sont de bons amis. - N'utilisez jamais d'exception cahier des charges. La raison en est donnée dans le livre "C++ Normes de Codage".
Quels sont les vôtres?
source d'informationauteur xmllmx
Vous devez vous connecter pour publier un commentaire.
Je sais que cela peut mieux l'adapter à un commentaire que comme une réponse, mais étant donné que la ressource je suis un lien réponses tous de vos questions et plusj'ai pensé qu'il serait OK pour poster une réponse, juste pour lui donner plus de visibilité et/ou de pertinence.
Et depuis je ne peux pas résumer mieux que l'original, je ne vais même pas essayer de le faire un court résumé, parce que je risque de le déformer ou de donner une présentation biaisée.
Il suffit de regarder ce deux parties à discuter sur d'exception-safe codage par Jon Kalb. C'est tout.