Definiert die Fehlerdomäne für Prüffehler der End-to-End-Absicherung in der Adaptive-Kommunikation.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: bfe73c7b7e47HerkunftOffene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Definiert die Fehlerdomäne für Prüffehler der End-to-End-Absicherung in der Adaptive-Kommunikation.
Die Klasse ara::com::e2e::ComE2EErrorDomain definiert die Fehlerdomäne für Fehler der End-to-End-Absicherung im Kommunikationsmanagement von AUTOSAR Adaptive und ordnet Fehlercodes der Enumeration ComE2EErrc zu ([SWS_CM_12504]). Schlägt eine serverseitige E2E-Prüfung fehl, wird ein ara::core::ErrorCode dieser Domäne in der Fehlerantwort transportiert und clientseitig über ara::core::Result bereitgestellt ([SWS_CM_00033]). Die zustandslose, ausnahmesichere Klasse erlaubt die Fehlerbehandlung wahlweise wertbasiert oder über ThrowAsException(), wobei diese Ausnahmemethode bei deaktivierten C++-Compiler-Ausnahmen nicht verfügbar ist ([SWS_CM_12509]).
Kontext
Die Klasse ara::com::e2e::ComE2EErrorDomain definiert die Fehlerdomäne für die End-to-End-Absicherung (E2E) innerhalb des Kommunikationsmanagements (ara::com) der AUTOSAR Adaptive Platform. Sie leitet final von der Basisklasse ara::core::ErrorDomain ab und kapselt domänenspezifische Fehler, die bei der E2E-Validierung von Nachrichten auftreten.
Im Kommunikationsmodell fungiert ComE2EErrorDomain als zentraler Bezeichner und Übersetzer für Fehlerzustände bei E2E-geschützten Interaktionen. Über die Typ-Aliase Errc ([SWS_CM_12504]) und Exception ([SWS_CM_12505]) bindet die Fehlerdomäne die typspezifische Enumeration ComE2EErrc sowie den abgeleiteten Ausnahmetyp ComE2EException an das fehlerspezifische Ökosystem von ara::core an. Erkennt die Server-Laufzeitumgebung bei der Prüfung einer Methodenanforderung mittels E2E_check ([SWS_CM_90421]) eine fehlerhafte Absicherung, wird eine E2E-Fehlerantwort übertragen. Gemäß [SWS_CM_00033] transportiert die Nutzlast dieser Antwortnachricht einen ara::core::ErrorCode der Domäne ara::com::e2e::ComE2EErrorDomain, dessen Fehlerwert dem Resultat von E2E_check entspricht (AUTOSAR_AP_SWS_CommunicationManagement §7.4.1.2.4 „Payload of the E2E Error Response“). Auf der Clientseite wird dieser Fehler nach dem Entfernen des E2E-Headers ([SWS_CM_90475]) deserialisiert ([SWS_CM_90476], [SWS_CM_10473]) und als Fehlerzustand innerhalb eines ara::core::Result an die Applikation übergeben (AUTOSAR_AP_SWS_CommunicationManagement §7.4.1.2.5 „Deserializing the payload“).
Die Erzeugung eines Instanzobjekts erfolgt über den Standardkonstruktor constexpr ComE2EErrorDomain() noexcept ([SWS_CM_12506]). Durch die Kennzeichnung als constexpr kann die Fehlerdomäne bereits zur Übersetzungszeit konstruiert werden. Sie dürfte typischerweise als unveränderliches, prozessweites Singleton bereitgestellt werden, sodass Referenzen auf die Domäne während der gesamten Programmlaufzeit gültig bleiben. Frage Q-bd1ba0230650e246 (offen) Da die Klasse als final deklariert ist, sind keine weiteren Ableitungen zulässig.
Die Klasse verwaltet keinen veränderlichen Zustand und bietet vollständige Ausnahmesicherheit ([SWS_CM_12506]). Die Inspektionsmethoden Name() ([SWS_CM_12507]) und Message() ([SWS_CM_12508]) sind als const sowie noexcept deklariert. Dadurch ist der nebenläufige, lesende Zugriff über mehrere Ausführungsstränge hinweg thread-sicher und frei von Synchronisationsaufwänden gewährleistet.
Nutzungspfad
Der typische Nutzungspfad vollzieht sich im Rahmen der Übertragung und clientseitigen Auswertung fehlgeschlagener E2E-Prüfungen:
Prüfung und Fehlererzeugung: Beim Empfang einer E2E-geschützten Anforderung führt der Server die Validierung mittels E2E_check aus ([SWS_CM_90421]). Schlägt diese Prüfung fehl, serialisiert die Middleware eine Fehlerantwort, deren Nutzlast einen ara::core::ErrorCode mit ara::com::e2e::ComE2EErrorDomain enthält ([SWS_CM_00033]).
Fehlerdiagnose: Die Adaptive Application prüft das ara::core::Result. Zur Fehlerprotokollierung liefert Name() den Bezeichner der Domäne ([SWS_CM_12507]), während Message() den menschenlesbaren Text zum konkreten numerischen Code zurückgibt ([SWS_CM_12508]).
Fehlerbehandlung: Die Anwendung kann den Fehler entweder wertbasiert auswerten oder bei aktivierter Ausnahmebehandlung über ThrowAsException() eine typspezifische Ausnahme auslösen ([SWS_CM_12509]).
Tritt bei der Validierung ein E2E-Fehler auf, wird dieser über die Enumeration ComE2EErrc identifiziert, welche über den Typ-Alias Errc der Klasse verfügbar ist ([SWS_CM_12504]). Die Fehlercodes in ComE2EErrc dürften dabei unmittelbar den definierten Ergebniswerten von E2E_check entsprechen. Frage Q-07fc2c01567ac537 (offen)
Zur Weitergabe des Fehlers über C++-Ausnahmen instanziiert die Methode ThrowAsException() eine Ausnahme des Typs ara::com::e2e::ComE2EException (Alias Exception, [SWS_CM_12505]) und wirft diese ([SWS_CM_12509]). Die Methode ist als noexcept(false) deklariert. Wenn in der Compiler-Toolchain C++-Ausnahmen deaktiviert sind, nimmt ThrowAsException() gemäß [SWS_CM_12509] nicht an der Überladungsauflösung teil. In Systemen ohne Ausnahmeunterstützung muss die Fehlerbehandlung folglich zwingend über die wertbasierte Inspektion von ara::core::Result und ara::core::ErrorCode erfolgen.
Dieser Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive R25-11 und wurde automatisiert erstellt.
Creates a new instance of ara::com::e2e::ComE2EException from errorCode and throws it. As per [SWS_CORE_10304], this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: e33607e23f70HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Elementfunktion Name der Klasse ara::com::e2e::ComE2EErrorDomain ([SWS_CM_12507]) wird synchron und ohne Übergabeparameter aufgerufen. Sie dient der eindeutigen Identifikation der Fehlerdomäne und gibt einen Zeiger auf eine statische Zeichenkettenkonstante (const char *) zurück, welche den Namen der E2E-Kommunikationsfehlerdomäne repräsentiert ([SWS_CM_12507]). Die Schnittstellendeklaration wird über die Header-Datei ara/com/e2e/e2e_error_domain.h bereitgestellt ([SWS_CM_12507]).
In Bezug auf die Fehlerbehandlung ist die Funktion als noexcept und exception safe spezifiziert ([SWS_CM_12507]). Sie wirft demnach keine Ausnahmen und schlägt zur Laufzeit nicht fehl; spezifische Fehlercodes oder Fehlerbehandlungsmechanismen sind für diesen Aufruf nicht vorgesehen.
Hinsichtlich Nebenläufigkeit und Randbedingungen bestehen keine speziellen Aufruf- oder Lebenszyklusbeschränkungen. Da die Methode lediglich eine unveränderliche Zeichenkette ausliest, dürfte die Implementierung vollständig reentrant und für nebenläufige Aufrufe aus beliebigen Threads sicher sein. Frage Q-c8158d40c80ce9c5 (offen)
Creates a new instance of ara::com::e2e::ComE2EException from errorCode and throws it. As per [SWS_CORE_10304], this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: d2262a26cd80HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Elementfunktion ThrowAsException der Fehlerdomäne ara::com::e2e::ComE2EErrorDomain dient gemäß [SWS_CM_12509] dazu, einen übergebenen Fehlercode errorCode vom Typ ara::core::ErrorCode in eine typisierte C++-Ausnahme des Typs ara::com::e2e::ComE2EException zu kapseln und synchron auszulösen. Die Funktion besitzt keinen Rückgabewert (void) und wird über den Header ara/com/e2e/e2e_error_domain.h bereitgestellt (AUTOSAR_AP_SWS_CommunicationManagement §8.15.3.2.2.3 „ThrowAsException“).
Fehlerbehandlung und Randbedingungen
Die Methode ist mit noexcept(false) deklariert und explizit als nicht ausnahmesicher („not exception safe“) spezifiziert, da ihr regulärer Ablauf im Werfen der Exception besteht. Eine wesentliche compilerseitige Randbedingung definiert [SWS_CORE_10304]: Sind C++-Ausnahmen in der Toolchain des Compilers deaktiviert, nimmt diese Funktion nicht an der Überladungsauflösung teil. Aufrufer müssen daher sicherstellen, dass exception-basierte Fehlerbehandlung im Zielsystem unterstützt und aktiv ist.
gemini-3.8-flash-medium· 2026-10-13