DEENESPTFRRUARHIKOZHNL

classe ara::com::e2e::ComE2EException

[SWS_CM_12501] Upstream: RS_AP_00122, RS_AP_00127, RS_AP_00130

class ComE2EException final :            public ara::core::Exception {...};

Defines a class for exceptions to be thrown by the E2E APIs

Header-Datei#include "ara/com/e2e/e2e_error_domain.h"
Forwarding-Header#include "ara/com/com_fwd.h"
Scopenamespace ara::com::e2e
Basisklasse(n)ara::core::Exception

Guide utilisateurGÉNÉRÉ PAR IA

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 IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 385c2dd6528b Provenance Questions 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.

Contexte

La classe ara::com::e2e::ComE2EException sert de classe d'exception C++ standardisée, déclenchée par les API de bout en bout (E2E) dans la gestion de communication afin de signaler les conditions d'erreur survenues ([SWS_CM_12501], AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 « Class: ComE2EException »). La classe est déclarée comme final et dérive publiquement de ara::core::Exception (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 « Class: ComE2EException »). Elle est fournie via le fichier d'en-tête ara/com/e2e/e2e_error_domain.h ([SWS_CM_12502]).

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.
  • La logique E2E détecte une erreur lors du traitement ou de la vérification des données, instancie un exemplaire de ara::com::e2e::ComE2EException avec le errorCode spécifique et le lève (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 « Class: ComE2EException »).
  • 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)
Déroulement de la gestion des exceptions en cas d'erreurs E2EApplicationara::com E2E-APIComE2EExceptionAppeler une opération vérifiée par E2EUse Case: Cas d'erreur lors du contrôle E2EoptC++ Exceptions aktiviertComE2EException(errorCode) instanziierenthrow ComE2EExceptionIntercepter l'exception et évaluer le code d'erreur

Diagramme de séquence : déroulement du traitement des erreurs lors de l'apparition d'erreurs E2E via ComE2EException. Sources : [SWS_CM_12501], [SWS_CM_12502], AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 « Class: ComE2EException ».

Scénarios d'erreur

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.

G nara__com__e2e__ComE2EException703 ComE2EException + ComE2EException() nara__core__Exception792 Exception nara__com__e2e__ComE2EException703->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

Constructeurs et destructeur

Constructs a new ara::com::e2e::ComE2EException object containing an error code

explicit ComE2EException (ara::core::ErrorCode errorCode) noexcept;

Documentation des méthodes

fonction ComE2EException [SWS_CM_12502] Upstream: RS_AP_00120, RS_AP_00121, RS_AP_00130

explicit ComE2EException (ara::core::ErrorCode errorCode) noexcept;

Constructs a new ara::com::e2e::ComE2EException object containing an error code

Header-Datei#include "ara/com/e2e/e2e_error_domain.h"
Scopeclass ara::com::e2e::ComE2EException
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
errorCodeThe error code.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_12502
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_12502@rel:R25-11#65d54faf
Content hash
65d54faf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_12502
Status: valid/unmigrated Version: rel:R25-11#f55f1c7d Versionshistorie & Revisions (1 transition, 5 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_12502@rel:R25-11#f55f1c7d
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#e593e1602026-09-30
  • R22-11rel:R22-11#803783f82026-10-14
  • R23-11rel:R23-11#0ff65df22026-10-14
  • R24-11rel:R24-11#eaa1533d2026-10-14
  • R25-11rel:R25-11#f55f1c7d2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill