Defines the SecOC FVM error domain and maps specific error codes to message texts and exceptions.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 815063923fbeProvenanceOpen questions (2)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
Defines the SecOC FVM error domain and maps specific error codes to message texts and exceptions.
The class apext::com::secoc::ComSecOcFvmErrorDomain encapsulates the error domain for the Freshness Value Manager in the SecOC communication module of AUTOSAR Adaptive [SWS_CM_12514]. It maps error codes from ComSecOcFvmErrc to descriptive texts and enables their conversion into ComSecOcFvmException exceptions. Access is typically performed process-wide via the helper function GetComSecOcFvmErrorDomain()[SWS_CM_12521]. If compiler exceptions are disabled, the method for exception generation is automatically removed from overload resolution.
Context
The class apext::com::secoc::ComSecOcFvmErrorDomain defines the error domain for the Freshness Value Manager (FVM) in the context of secure onboard communication (SecOC) for Adaptive AUTOSAR Communication Management [SWS_CM_12514] (AUTOSAR_AP_SWS_CommunicationManagement §C.2.3 “Class: ComSecOcFvmErrorDomain”). As a final subclass of ara::core::ErrorDomain, it integrates domain-specific FVM error states into the platform-wide error handling model of AUTOSAR Adaptive.
Creation of an instance of ComSecOcFvmErrorDomain is performed via the parameterless default constructor [SWS_CM_12517]. Due to the declaration as constexpr and noexcept, it is guaranteed that instantiation can already take place at compile time without allocation risk and is completely exception-safe.
During operation, the error domain typically acts as a long-lived, immutable singleton in the process (interpretation). Question Q-fc901552d01e33de (open) Application and middleware components usually do not instantiate the domain locally, but use the const reference provided via GetComSecOcFvmErrorDomain()[SWS_CM_12521]. Because the member functions Name()[SWS_CM_12518] and Message()[SWS_CM_12519] are stateless and defined as const noexcept, concurrent read access from multiple threads is safe without additional synchronization mechanisms.
Usage Path
If an error occurs in the Freshness Value Manager, callers interact with the error domain along a fixed sequence:
Retrieve reference: The component retrieves the global domain reference using GetComSecOcFvmErrorDomain()[SWS_CM_12521].
Domain identification: The fixed identifier assigned to the error domain can be queried via Name() for logging or diagnostic purposes [SWS_CM_12518].
Resolve error message: Based on a passed error code (CodeType), Message() returns a pointer to the static, human-readable description of the error [SWS_CM_12519].
Throw exception: If the error path is to be handled exception-based, ThrowAsException() transforms an ara::core::ErrorCode object into the corresponding exception [SWS_CM_12520].
The functions Name()[SWS_CM_12518] and Message()[SWS_CM_12519] have exception safety noexcept and never throw under any circumstances. For unknown numeric error codes, Message() presumably returns a generic default string (interpretation). Question Q-4f9834f33957160b (open)
In contrast, the method ThrowAsException() is by definition not exception-safe (not exception safe), since its explicit task is to construct and throw an ComSecOcFvmException object based on the passed ara::core::ErrorCode[SWS_CM_12520]. Toolchain configuration is an important precondition: If C++ exceptions are disabled in the compiler, ThrowAsException() does not participate in overload resolution [SWS_CM_12520]. Callers in exception-free runtime environments must therefore implement error handling via ara::core::Result or direct error code evaluations.
This guide was generated by an AI system based on the AUTOSAR Adaptive R25-11 specification.
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
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: c28253f0fde1ProvenanceOpen questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
The member function Name() of the error domain class apext::com::secoc::ComSecOcFvmErrorDomain returns a string constant representing the identifier of this error domain [SWS_CM_12518]. The declaration is provided via the header file #include "apext/com/secoc/fvm_error_domain.h"[SWS_CM_12518]. The function operates purely synchronously, takes no parameters, and returns a pointer to an immutable string of type const char *[SWS_CM_12518].
Regarding error handling, the interface is specified as exception safe and provided with the C++ identifier noexcept[SWS_CM_12518]. A call can thus not fail and throws no C++ exceptions. Specific error codes, feedback descriptions, or reports to DET or DEM do not exist for this query function.
Since it is a reading const method that returns a constant pointer to a static string, the execution is likely reentrant and thread-safe. Question Q-75fa65f59869d0ab (open) There are no restrictive ordering conditions for the calling context.
The method fits into the extensions of Communication Management for SecOC and Freshness Value Management AUTOSAR_AP_SWS_CommunicationManagement §1 “Release Changes” p. 3. It follows the same architectural pattern as eponymous functions of other error domains of the module, namely in ara::com::ComErrorDomain[SWS_CM_11331] and in ara::com::e2e::ComE2EErrorDomain[SWS_CM_12507].
This usage note was generated automatically based on the AUTOSAR R25-11 specification.
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.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: ce36f40333e6Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
use
The member function ThrowAsException of the error domain apext::com::secoc::ComSecOcFvmErrorDomain (SWS Communication Management §C.2.3.2.2.3 “ThrowAsException”, [SWS_CM_12520]) serves to convert an error code into a C++ exception. It takes a reference to an error code errorCode of type const ara::core::ErrorCode& as an input parameter and has no return value. The function creates a new instance of apext::com::secoc::ComSecOcFvmException based on the passed error code and throws it synchronously ([SWS_CM_12520]).
Error Handling and Exception Safety
The method is declared with noexcept(false) and classified as not exception safe (not exception safe) according to the specification ([SWS_CM_12520]). The regular execution pattern provides that the function does not return normally, but immediately reports the created exception apext::com::secoc::ComSecOcFvmException to the caller in case of an error.
restrictions
An essential restriction regarding the compiler configuration applies to the function: If C++ exceptions are disabled in the compiler toolchain, ThrowAsException does not participate in overload resolution according to [SWS_CORE_10304] ([SWS_CM_12520]).
gemini-3.8-flash-low· 2026-10-13 · German original