Définit le domaine d'erreur SecOC-FVM et associe des codes d'erreur spécifiques à des textes de message ainsi qu'à des exceptions.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 815063923fbeProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Définit le domaine d'erreur SecOC-FVM et associe des codes d'erreur spécifiques à des textes de message ainsi qu'à des exceptions.
La classe apext::com::secoc::ComSecOcFvmErrorDomain encapsule le domaine d'erreur pour le Freshness Value Manager au sein du module de communication SecOC d'AUTOSAR Adaptive [SWS_CM_12514]. Elle associe des textes descriptifs à des codes d'erreur issus de ComSecOcFvmErrc et permet leur conversion en exceptions ComSecOcFvmException. L'accès s'effectue généralement à l'échelle du processus via la fonction utilitaire GetComSecOcFvmErrorDomain()[SWS_CM_12521]. Si les exceptions du compilateur sont désactivées, la méthode de génération d'exceptions est automatiquement retirée de la résolution de surcharge.
Contexte
La classe apext::com::secoc::ComSecOcFvmErrorDomain définit le domaine d'erreur pour le Freshness Value Manager (FVM) dans le cadre de la communication sécurisée à bord (SecOC) pour la gestion de communication d'Adaptive AUTOSAR [SWS_CM_12514] (AUTOSAR_AP_SWS_CommunicationManagement §C.2.3 « Class: ComSecOcFvmErrorDomain »). En tant que sous-classe finale de ara::core::ErrorDomain, elle intègre les états d'erreur FVM spécifiques au domaine dans le modèle de traitement des erreurs de la plateforme d'AUTOSAR Adaptive.
La création d'une instance de ComSecOcFvmErrorDomain s'effectue via le constructeur par défaut sans paramètre [SWS_CM_12517]. Grâce à la déclaration sous forme de constexpr et noexcept, il est garanti que l'instanciation peut déjà avoir lieu au moment de la compilation sans risque d'allocation et qu'elle est totalement sûre vis-à-vis des exceptions.
En cours d'exécution, le domaine d'erreur fait typiquement office de singleton immuable et durable au sein du processus (interprétation). Question Q-fc901552d01e33de (ouverte) Les composants d'application et de middleware n'instancient généralement pas le domaine localement, mais utilisent la référence constante [SWS_CM_12521] fournie via GetComSecOcFvmErrorDomain(). Étant donné que les fonctions membres Name()[SWS_CM_12518] et Message()[SWS_CM_12519] sont sans état et définies comme const noexcept, l'accès concurrent en lecture à partir de plusieurs threads est sûr sans mécanismes de synchronisation supplémentaires.
Parcours d'utilisation
Si une erreur survient dans le Freshness Value Manager, les appelants interagissent avec le domaine d'erreur selon une séquence définie :
Obtenir la référence : le composant récupère la référence globale du domaine au moyen de GetComSecOcFvmErrorDomain()[SWS_CM_12521].
Identification du domaine :Name() permet d'interroger, à des fins de journalisation ou de diagnostic, l'identifiant assigné de manière fixe au domaine d'erreur [SWS_CM_12518].
Résoudre le message d'erreur : sur la base d'un code d'erreur transmis (CodeType), Message() fournit un pointeur vers la description statique et lisible par l'homme de l'erreur [SWS_CM_12519].
Lever une exception : si le chemin d'erreur doit être traité sur la base d'exceptions, ThrowAsException() transforme un objet ara::core::ErrorCode en l'exception correspondante [SWS_CM_12520].
Diagramme de séquence : interrogation typique de textes d'erreur ou déclenchement d'une exception via la ComSecOcFvmErrorDomain. Sources : [SWS_CM_12519], [SWS_CM_12520], [SWS_CM_12521]
Scénarios d'erreur
Les fonctions Name()[SWS_CM_12518] et Message()[SWS_CM_12519] possèdent le niveau de sécurité vis-à-vis des exceptions noexcept et ne lèvent d'exception en aucune circonstance. En présence de codes d'erreur numériques inconnus, Message() renvoie vraisemblablement une chaîne de caractères générique par défaut (interprétation). Question Q-4f9834f33957160b (ouverte)
En revanche, la méthode ThrowAsException() n'est, par définition, pas sûre vis-à-vis des exceptions (not exception safe), car sa tâche explicite consiste à construire et à lever un objet ComSecOcFvmException sur la base du ara::core::ErrorCode transmis [SWS_CM_12520]. La configuration de la chaîne d'outils constitue une précondition importante : si les exceptions C++ sont désactivées dans le compilateur, ThrowAsException() ne participe pas à la résolution de surcharge [SWS_CM_12520]. Les appelants situés dans des environnements d'exécution sans exceptions doivent par conséquent gérer les erreurs via ara::core::Result ou par des évaluations directes des codes d'erreur.
Ce guide a été généré par un système d'IA sur la base de la spécification AUTOSAR Adaptive R25-11.
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
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c28253f0fde1ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction membre Name() de la classe de domaine d'erreur apext::com::secoc::ComSecOcFvmErrorDomain renvoie une constante de chaîne de caractères qui représente l'identifiant de ce domaine d'erreur [SWS_CM_12518]. La déclaration est fournie via le fichier d'en-tête #include "apext/com/secoc/fvm_error_domain.h"[SWS_CM_12518]. La fonction fonctionne de manière purement synchrone, ne prend aucun paramètre et renvoie un pointeur vers une chaîne de caractères immuable de type const char *[SWS_CM_12518].
Concernant le traitement des erreurs, l'interface est spécifiée comme exception safe et dotée de l'identificateur C++ noexcept[SWS_CM_12518]. Un appel ne peut donc pas échouer et ne déclenche aucune exception C++. Aucun code d'erreur spécifique, description de retour ou notification vers DET ou DEM n'existe pour cette fonction d'interrogation.
Puisqu'il s'agit d'une méthode de lecture const renvoyant un pointeur constant vers une chaîne statique, l'exécution devrait être réentrante et sûre du point de vue des threads. Question Q-75fa65f59869d0ab (ouverte) Il n'existe aucune contrainte d'ordonnancement restrictive pour le contexte d'appel.
La méthode s'insère dans les extensions du Communication Management pour SecOC et le Freshness Value Management AUTOSAR_AP_SWS_CommunicationManagement §1 « Release Changes » p. 3. Elle suit le même modèle architectural que les fonctions homonymes d'autres domaines d'erreur du module, notamment dans ara::com::ComErrorDomain[SWS_CM_11331] et dans ara::com::e2e::ComE2EErrorDomain[SWS_CM_12507].
Cette note d'utilisation a été créée automatiquement sur la base de la spécification AUTOSAR R25-11.
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.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ce36f40333e6Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La fonction membre ThrowAsException du domaine d'erreur apext::com::secoc::ComSecOcFvmErrorDomain (SWS Communication Management §C.2.3.2.2.3 « ThrowAsException », [SWS_CM_12520]) sert à convertir un code d'erreur en une exception C++. Elle reçoit en paramètre d'entrée une référence vers un code d'erreur errorCode de type const ara::core::ErrorCode& et ne possède pas de valeur de retour. La fonction crée une nouvelle instance de apext::com::secoc::ComSecOcFvmException sur la base du code d'erreur transmis et la lève de manière synchrone ([SWS_CM_12520]).
Gestion des erreurs et sécurité vis-à-vis des exceptions
La méthode est déclarée avec noexcept(false) et classée conformément aux spécifications comme non sûre face aux exceptions (not exception safe) ([SWS_CM_12520]). Le schéma d'exécution régulier prévoit que la fonction ne retourne pas normalement, mais signale immédiatement à l'appelant l'exception générée apext::com::secoc::ComSecOcFvmException en cas d'erreur.
restrictions
Une restriction majeure concernant la configuration du compilateur s'applique à la fonction : si les exceptions C++ sont désactivées dans la chaîne d'outils du compilateur, ThrowAsException ne participe pas à la résolution de surcharge conformément à [SWS_CORE_10304] ([SWS_CM_12520]).
gemini-3.8-flash-low· 2026-10-13 · Original allemand