DEENESPTFRRUARHIKOZHNL

classe apext::tsync::TsyncFvmException

[SWS_TS_14203] Upstream: RS_TS_20072 libellé pas encore importé

class TsyncFvmException :            public ara::core::Exception {...};

Defines a class for exceptions to be thrown by the Freshness Value Manager.

Header-Datei#include "apext/tsync/fvm_error_domain.h"
Forwarding-Header#include "apext/tsync/tsync_fwd.h"
Scopenamespace apext::tsync
Basisklasse(n)ara::core::Exception

Guide utilisateurGÉNÉRÉ PAR IA

Sert au Freshness Value Manager pour encapsuler et lever des états d'erreur avec un 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 : abba6e58d551 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert au Freshness Value Manager pour encapsuler et lever des états d'erreur avec un code d'erreur.

La classe d'exception apext::tsync::TsyncFvmException sert au Freshness Value Manager du module tsync à signaler des états défaillants lors du traitement de la valeur de fraîcheur. Lors de la détection d'une erreur, l'exception est explicitement instanciée en transmettant un ara::core::ErrorCode spécifique et levée dans le flux de contrôle [SWS_TS_14204]. Comme contrainte essentielle, le constructeur est déclaré comme noexcept et la classe est conçue pour être entièrement sûre vis-à-vis des threads et des exceptions, afin de garantir une transmission robuste des erreurs dans les systèmes concurrents [SWS_TS_14204].

Contexte

La classe apext::tsync::TsyncFvmException est une classe d'exception spécialisée au sein du module tsync de l'AUTOSAR Adaptive Platform. Conformément à la spécification du module, elle sert à l'encapsulation et à la transmission d'états d'erreur déclenchés par le Freshness Value Manager. La classe est définie comme sous-classe directe de ara::core::Exception et assure ainsi la gestion standardisée des exceptions C++ pour les erreurs survenant dans le cadre de la gestion des valeurs de fraîcheur.

Parmi les partenaires d'interaction principaux figurent le Freshness Value Manager en tant qu'instance qui lève l'exception, ainsi que les composants logiciels utilisateurs et les services de synchronisation qui demandent des vérifications de fraîcheur pour des relations de communication sécurisées. Si une condition d'exception survient lors de la vérification ou du calcul d'une valeur de fraîcheur, le Freshness Value Manager instancie cet objet pour notifier l'appelant. La déclaration et la définition d'interface s'effectuent via le fichier d'en-tête apext/tsync/fvm_error_domain.h [SWS_TS_14204].

Cycle de vie

Le cycle de vie d'un objet de type apext::tsync::TsyncFvmException est lié au cycle de vie des exceptions C++ régulières. La création s'effectue via le constructeur explicite TsyncFvmException, qui reçoit un code d'erreur de type ara::core::ErrorCode [SWS_TS_14204]. Ce constructeur est déclaré avec la spécification noexcept, ce qui garantit que la création de l'objet est elle-même sûre vis-à-vis des exceptions et ne lève en aucun cas d'exceptions secondaires [SWS_TS_14204].

La classe est explicitement spécifiée comme sûre vis-à-vis des exceptions (exception safe) et sûre vis-à-vis des threads (thread-safe) [SWS_TS_14204]. Cela permet la création et la transmission sûres d'instances, même dans des environnements d'exécution multifils complexes, sans risque de situations de compétition (data races).

Interprétation : en ce qui concerne la propriété, l'exception est typiquement levée par valeur et interceptée dans la pile d'appels par référence à un objet constant (const apext::tsync::TsyncFvmException&). Question Q-6e8c4ad080550a52 (ouverte) Après la construction, l'objet ne subit aucun autre changement d'état ; sa destruction s'effectue automatiquement lors de la sortie du bloc catch traitant l'exception.

Parcours d'utilisation

Le chemin d'utilisation régulier se déroule dans le cadre d'une validation ou d'une mise à jour des valeurs de fraîcheur effectuée par le Freshness Value Manager. Si le gestionnaire détecte une violation de l'intégrité de la fraîcheur ou une erreur de traitement interne, il initie le traitement d'erreur :

  1. Identification de l'erreur : le Freshness Value Manager constate un état d'erreur et crée un objet ara::core::ErrorCode correspondant.
  2. Instanciation : l'objet d'exception est initialisé via le constructeur en transmettant le code d'erreur [SWS_TS_14204].
  3. Déclenchement : l'exception est levée dans le contexte d'appel au moyen de throw.
  4. Évaluation : l'application ou la couche appelante intercepte l'exception et accède au code d'erreur intégré afin d'engager des mesures adéquates de correction d'erreur ou de dégradation.
Déroulement de la gestion des exceptions avec apext::tsync::TsyncFvmExceptionApplicationFreshness Value ManagerTsyncFvmExceptionDemander le contrôle de fraîcheurValeur de fraîcheur invalide détectéeara::core::ErrorCode instanziierenTsyncFvmException(errorCode)throw TsyncFvmExceptioncatch (const TsyncFvmException&)Fehlercode auswerten

Diagramme de séquence : déroulement typique de la gestion des erreurs avec apext::tsync::TsyncFvmException, de la détection dans le Freshness Value Manager jusqu'à l'interception chez l'appelant. Sources : [SWS_TS_14204]

Scénarios d'erreur

Puisque apext::tsync::TsyncFvmException est elle-même conçue comme un mécanisme de signalisation d'erreur, les scénarios d'erreurs fonctionnelles résident principalement dans une manipulation incorrecte de l'exception. La transmission d'un ara::core::ErrorCode valide au constructeur [SWS_TS_14204] constitue une précondition pour la création. Toutefois, comme le constructeur est défini comme noexcept, la création de l'objet reste stable même en cas de valeurs d'erreur inattendues [SWS_TS_14204].

L'en-tête de définition apext/tsync/fvm_error_domain.h étant imposé, le errorCode encapsulé devrait de préférence provenir du domaine d'erreur spécialisé du Freshness Value Manager [SWS_TS_14204]. Question Q-91a4f2d66128bb91 (ouverte) Un scénario d'erreur critique survient si l'exception levée n'est traitée au niveau du système par aucun bloc catch ; selon la sémantique standard du C++, cela conduit inévitablement à l'appel de std::terminate et donc à l'interruption du processus. Cependant, grâce à la sécurité des threads garantie selon [SWS_TS_14204], les erreurs dues à des accès simultanés depuis des threads parallèles sont exclues.

Ce guide repose exclusivement sur les spécifications de la version AUTOSAR R25-11.

Diagramme de classes UML

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G napext__tsync__TsyncFvmException780 TsyncFvmException + TsyncFvmException() nara__core__Exception792 Exception napext__tsync__TsyncFvmException780->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

Constructeurs et destructeur

Constructs a new apext::tsync::TsyncFvmException object containing an error code.

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

Documentation des méthodes

fonction TsyncFvmException [SWS_TS_14204] Upstream: RS_TS_20072 libellé pas encore importé

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

Constructs a new apext::tsync::TsyncFvmException object containing an error code.

Header-Datei#include "apext/tsync/fvm_error_domain.h"
Scopeclass apext::tsync::TsyncFvmException
Exception-Sicherheitexception safe
Thread-Sicherheitthread-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_TS_14204
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14204@rel:R25-11#b0bbe0b4
Content hash
b0bbe0b4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14204
Status: valid/unmigrated Version: rel:R25-11#40142208 Versionshistorie & Revisions (1 transition, 3 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_TS_14204@rel:R25-11#40142208
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#10c9dc5e2026-09-30
  • R24-11rel:R24-11#77c0f00a2026-10-14
  • R25-11rel:R25-11#401422082026-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