Sert d'exception C++ spécifique pour signaler les erreurs issues des interfaces de bout en bout avec leur code d'erreur.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 385c2dd6528bProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Sert d'exception C++ spécifique pour signaler les erreurs issues des interfaces de bout en bout avec leur code d'erreur.
La classe ara::com::e2e::ComE2EException sert d'exception C++ standardisée pour notifier les erreurs provenant des API E2E de la gestion de communication ([SWS_CM_12501]). Elle dérive de ara::core::Exception et encapsule un ara::core::ErrorCode spécifique, transmis lors de l'instanciation via un constructeur noexcept sûr vis-à-vis des exceptions ([SWS_CM_12502]). Si les exceptions C++ sont désactivées dans la chaîne d'outils du compilateur, la fonction déclenchante ne participe pas à la résolution de surcharge selon la spécification, de sorte que ce chemin d'erreur requiert une prise en charge active des exceptions.
Au sein de l'architecture fonctionnelle d'AUTOSAR Adaptive, ComE2EException fait office de passerelle de communication entre les routines de surveillance E2E de la plateforme et le logiciel d'application appelant. Si une fonction E2E détecte un état d'erreur lors de la vérification ou du traitement des données, cette erreur est transmise au flux de contrôle de niveau supérieur par la levée de cette exception (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 « Class: ComE2EException »).
Cycle de vie
L'instanciation d'un objet de ComE2EException s'effectue explicitement par la transmission d'un code d'erreur au constructeur explicit ComE2EException(ara::core::ErrorCode errorCode) noexcept ([SWS_CM_12502], AUTOSAR_AP_SWS_CommunicationManagement §8.15.4.1.1.1 « ComE2EException »). Le constructeur est spécifié comme noexcept et sûr vis-à-vis des exceptions (exception safe) ([SWS_CM_12502]). Cela garantit qu'aucune autre exception ne peut être levée lors de la construction de l'exception elle-même, ce qui assure la robustesse dans le chemin d'erreur.
En ce qui concerne les relations de propriété, l'exception est créée par l'interface E2E déclenchante et levée par valeur (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 « Class: ComE2EException »). Côté application, l'objet est typiquement intercepté par référence constante. Dès que le bloc de traitement correspondant est quitté, la destruction automatique a lieu dans le cadre du déroulement normal de la pile C++. La classe étant définie comme final, aucune sous-classe n'est prévue.
Parcours d'utilisation
Le déroulement typique lors de l'utilisation de l'exception se divise selon les phases suivantes :
Le logiciel applicatif appelle une fonction protégée par E2E du module de gestion de la communication.
L'application intercepte l'exception dans un bloc try-catch. Les appelants sont ici supposés (interprétation) accéder aux méthodes de base héritées de ara::core::Exception afin d'évaluer le ara::core::ErrorCode contenu pour le diagnostic d'erreurs. Question Q-8dfac2428f223afe (ouverte)
Pour l'utilisation de ComE2EException, une condition préalable essentielle s'applique concernant la chaîne d'outils : conformément à [SWS_CORE_10304], la fonction qui crée et lève l'instance ne participe pas à la résolution de surcharge (overload resolution) si les exceptions C++ sont désactivées dans le compilateur (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 « Class: ComE2EException »). Dans les environnements d'exécution sans prise en charge des exceptions C++, ce canal de signalement n'existe donc pas ; dans ce cas, les erreurs sont probablement (interprétation) transmises via des mécanismes d'erreur alternatifs, non basés sur des exceptions, de la plateforme. Question Q-e1b3f4f1dfc191ef (ouverte)
Si les exceptions sont activées, chaque ComE2EException transporte obligatoirement un code d'erreur ([SWS_CM_12502]). Comme condition préalable à l'instanciation, un ara::core::ErrorCode valide doit être disponible ([SWS_CM_12502]). Le constructeur étant déclaré comme sûr vis-à-vis des exceptions ([SWS_CM_12502]), la création de l'objet ne peut pas échouer, même en cas d'erreur.
Ce guide est basé sur la spécification AUTOSAR R25-11 et a été élaboré automatiquement.
Diagramme de classes UML
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · Original allemand