Definiert die SecOC-FVM-Fehlerdomäne und ordnet spezifische Fehlercodes Meldungstexten sowie Ausnahmen zu.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 815063923fbeHerkunftOffene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Definiert die SecOC-FVM-Fehlerdomäne und ordnet spezifische Fehlercodes Meldungstexten sowie Ausnahmen zu.
Die Klasse apext::com::secoc::ComSecOcFvmErrorDomain kapselt die Fehlerdomäne für den Freshness Value Manager im SecOC-Kommunikationsmodul von AUTOSAR Adaptive [SWS_CM_12514]. Sie ordnet Fehlercodes aus ComSecOcFvmErrc beschreibende Texte zu und ermöglicht deren Umwandlung in ComSecOcFvmException-Ausnahmen. Der Zugriff erfolgt üblicherweise prozessweit über die Hilfsfunktion GetComSecOcFvmErrorDomain()[SWS_CM_12521]. Sind Compiler-Ausnahmen deaktiviert, wird die Methode zur Ausnahmegenerierung automatisch aus der Überladungsauflösung entfernt.
Kontext
Die Klasse apext::com::secoc::ComSecOcFvmErrorDomain definiert die Fehlerdomäne für den Freshness Value Manager (FVM) im Rahmen der sicheren Bordkommunikation (SecOC) für das Adaptive AUTOSAR Kommunikationsmanagement [SWS_CM_12514] (AUTOSAR_AP_SWS_CommunicationManagement §C.2.3 „Class: ComSecOcFvmErrorDomain“). Als finale Unterklasse von ara::core::ErrorDomain integriert sie domänenspezifische FVM-Fehlerzustände in das plattformweite Fehlerbehandlungsmodell von AUTOSAR Adaptive.
Die Erzeugung einer Instanz von ComSecOcFvmErrorDomain erfolgt über den parameterlosen Standardkonstruktor [SWS_CM_12517]. Durch die Deklaration als constexpr und noexcept ist garantiert, dass die Instanziierung bereits zur Übersetzungszeit ohne Allokationsrisiko stattfinden kann und vollständig ausnahmesicher ist.
Im laufenden Betrieb fungiert die Fehlerdomäne typischerweise als langlebiges, unveränderliches Singleton im Prozess (Interpretation). Frage Q-fc901552d01e33de (offen) Anwendungs- und Middleware-Komponenten instanziieren die Domäne in der Regel nicht lokal, sondern nutzen die über GetComSecOcFvmErrorDomain() bereitgestellte konstante Referenz [SWS_CM_12521]. Da die Elementfunktionen Name()[SWS_CM_12518] und Message()[SWS_CM_12519] zustandslos und als const noexcept definiert sind, ist der nebenläufige Lesezugriff aus mehreren Threads ohne zusätzliche Synchronisationsmechanismen sicher.
Nutzungspfad
Tritt im Freshness Value Manager ein Fehler auf, interagieren Aufrufer entlang einer festen Sequenz mit der Fehlerdomäne:
Referenz abrufen: Die Komponente bezieht die globale Domänenreferenz mittels GetComSecOcFvmErrorDomain()[SWS_CM_12521].
Domänenidentifikation: Über Name() kann für Logging- oder Diagnosezwecke der fest zugeordnete Bezeichner der Fehlerdomäne abgefragt werden [SWS_CM_12518].
Fehlermeldung auflösen: Anhand eines übergebenen Fehlercodes (CodeType) liefert Message() einen Zeiger auf die statische, menschenlesbare Beschreibung des Fehlers [SWS_CM_12519].
Ausnahme werfen: Soll der Fehlerpfad ausnahmebasiert behandelt werden, transformiert ThrowAsException() ein ara::core::ErrorCode-Objekt in die entsprechende Ausnahme [SWS_CM_12520].
Sequenzdiagramm: Typische Abfrage von Fehlertexten oder Auslösung einer Ausnahme über die ComSecOcFvmErrorDomain. Quellen: [SWS_CM_12519], [SWS_CM_12520], [SWS_CM_12521]
Fehlerszenarien
Die Funktionen Name()[SWS_CM_12518] und Message()[SWS_CM_12519] besitzen die Ausnahmesicherheit noexcept und werfen unter keinen Umständen. Bei unbekannten numerischen Fehlercodes liefert Message() vermutlich eine generische Standardzeichenkette zurück (Interpretation). Frage Q-4f9834f33957160b (offen)
Im Gegensatz dazu ist die Methode ThrowAsException() definitionsgemäß nicht ausnahmesicher (not exception safe), da ihre explizite Aufgabe darin besteht, ein ComSecOcFvmException-Objekt auf Basis des übergebenen ara::core::ErrorCode zu konstruieren und zu werfen [SWS_CM_12520]. Als wichtige Vorbedingung gilt die Toolchain-Konfiguration: Werden C++-Ausnahmen im Compiler deaktiviert, nimmt ThrowAsException() nicht an der Überladungsauflösung teil [SWS_CM_12520]. Aufrufer in ausnahmefreien Laufzeitumgebungen müssen die Fehlerbehandlung folglich über ara::core::Result oder direkte Fehlercode-Auswertungen abbilden.
Dieser Leitfaden wurde durch ein KI-System auf Basis der Spezifikation AUTOSAR Adaptive R25-11 generiert.
Creates a new instance of apext::com::secoc::ComSecOcFvmException 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.
Returns a string constant associated with the apext::com::secoc:: ComSecOcFvmErrorDomain
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: c28253f0fde1HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Die Elementfunktion Name() der Fehlerdomänen-Klasse apext::com::secoc::ComSecOcFvmErrorDomain gibt eine Zeichenkettenkonstante zurück, die den Bezeichner dieser Fehlerdomäne repräsentiert [SWS_CM_12518]. Die Deklaration wird über die Header-Datei #include "apext/com/secoc/fvm_error_domain.h" bereitgestellt [SWS_CM_12518]. Die Funktion arbeitet rein synchron, nimmt keine Parameter entgegen und liefert einen Zeiger auf eine unveränderliche Zeichenkette vom Typ const char * zurück [SWS_CM_12518].
Hinsichtlich der Fehlerbehandlung ist die Schnittstelle als exception safe spezifiziert und mit dem C++-Bezeichner noexcept versehen [SWS_CM_12518]. Ein Aufruf kann somit nicht fehlschlagen und löst keine C++-Ausnahmen aus. Spezifische Fehlercodes, Rückmeldebeschreibungen oder Meldungen an DET oder DEM existieren für diese Abfragefunktion nicht.
Da es sich um eine lesende const-Methode handelt, die einen konstanten Zeiger auf einen statischen String zurückgibt, dürfte die Ausführung reentrant und threadsicher sein. Frage Q-75fa65f59869d0ab (offen) Es bestehen keine einschränkenden Reihenfolgebedingungen für den Aufrufkontext.
Die Methode fügt sich in die Erweiterungen des Communication Managements für SecOC und das Freshness Value Management ein AUTOSAR_AP_SWS_CommunicationManagement §1 „Release Changes“ S. 3. Sie folgt demselben architektonischen Muster wie die namensgleichen Funktionen anderer Fehlerdomänen des Moduls, namentlich in ara::com::ComErrorDomain[SWS_CM_11331] und in ara::com::e2e::ComE2EErrorDomain[SWS_CM_12507].
Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR R25-11 erstellt.
Creates a new instance of apext::com::secoc::ComSecOcFvmException 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: ce36f40333e6Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Verwendung
Die Elementfunktion ThrowAsException der Fehlerdomäne apext::com::secoc::ComSecOcFvmErrorDomain (SWS Communication Management §C.2.3.2.2.3 „ThrowAsException“, [SWS_CM_12520]) dient der Umwandlung eines Fehlercodes in eine C++-Ausnahme. Sie nimmt als Eingabeparameter eine Referenz auf einen Fehlercode errorCode vom Typ const ara::core::ErrorCode& entgegen und besitzt keinen Rückgabewert. Die Funktion erzeugt eine neue Instanz von apext::com::secoc::ComSecOcFvmException auf Basis des übergebenen Fehlercodes und wirft diese synchron aus ([SWS_CM_12520]).
Fehlerbehandlung und Exception-Sicherheit
Die Methode ist mit noexcept(false) deklariert und spezifikationsgemäß als nicht ausnahmesicher (not exception safe) eingestuft ([SWS_CM_12520]). Das reguläre Ausführungsmuster sieht vor, dass die Funktion nicht normal zurückkehrt, sondern die erzeugte Ausnahme apext::com::secoc::ComSecOcFvmException im Fehlerfall unmittelbar an den Aufrufer meldet.
Einschränkungen
Für die Funktion gilt eine wesentliche Restriktion bezüglich der Compiler-Konfiguration: Falls C++-Exceptions in der Compiler-Toolchain deaktiviert sind, nimmt ThrowAsException gemäß [SWS_CORE_10304] nicht an der Überladungsauflösung teil ([SWS_CM_12520]).
gemini-3.8-flash-medium· 2026-10-13