DEENESPTFRRUARHIKOZHNL

class apext::tsync::TsyncFvmException

[SWS_TS_14203] Upstream: RS_TS_20072 Wortlaut noch nicht übernommen

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

User GuideKI-GENERIERT

Dient dem Freshness Value Manager zum Kapseln und Werfen von Fehlerzuständen mit einem Fehlercode.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: abba6e58d551 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient dem Freshness Value Manager zum Kapseln und Werfen von Fehlerzuständen mit einem Fehlercode.

Die Ausnahmeklasse apext::tsync::TsyncFvmException dient dem Freshness Value Manager im Modul tsync dazu, fehlerhafte Zustände bei der Frischewertverarbeitung zu melden. Bei der Erkennung eines Fehlers wird die Ausnahme unter Übergabe eines spezifischen ara::core::ErrorCode explizit instanziiert und im Kontrollfluss geworfen [SWS_TS_14204]. Als wesentliche Randbedingungen ist der Konstruktor als noexcept deklariert und die Klasse vollständig threadsicher sowie ausnahmesicher ausgelegt, um eine robuste Fehlerweitergabe in nebenläufigen Systemen zu gewährleisten [SWS_TS_14204].

Kontext

Die Klasse apext::tsync::TsyncFvmException ist eine spezialisierte Ausnahmeklasse innerhalb des Moduls tsync der AUTOSAR Adaptive Platform. Gemäß der Modulspezifikation dient sie der Kapselung und Weitergabe von Fehlerzuständen, die durch den Freshness Value Manager ausgelöst werden. Die Klasse ist als direkte Unterklasse von ara::core::Exception definiert und stellt somit die standardisierte C++-Ausnahmebehandlung für Fehler im Umfeld der Frischewert-Verwaltung sicher.

Zu den primären Interaktionspartnern zählen der Freshness Value Manager als werfende Instanz sowie anwendende Software-Komponenten und Synchronisationsdienste, welche Frischeprüfungen für gesicherte Kommunikationsbeziehungen anfordern. Tritt bei der Verifikation oder Berechnung eines Frischewerts eine Ausnahmebedingung auf, instanziiert der Freshness Value Manager dieses Objekt zur Benachrichtigung des Aufrufers. Die Deklaration und Schnittstellendefinition erfolgt über die Header-Datei apext/tsync/fvm_error_domain.h [SWS_TS_14204].

Lebenszyklus

Der Lebenszyklus eines Objekts vom Typ apext::tsync::TsyncFvmException ist an den Lebenszyklus regulärer C++-Ausnahmen gebunden. Die Erzeugung erfolgt über den expliziten Konstruktor TsyncFvmException, welcher einen Fehlercode vom Typ ara::core::ErrorCode entgegennimmt [SWS_TS_14204]. Dieser Konstruktor ist mit der Spezifikation noexcept deklariert, wodurch garantiert wird, dass die Objekterzeugung selbst ausnahmesicher ist und unter keinen Umständen sekundäre Ausnahmen wirft [SWS_TS_14204].

Die Klasse ist explizit als ausnahmesicher (exception safe) und threadsicher (thread-safe) spezifiziert [SWS_TS_14204]. Dies erlaubt die sichere Erzeugung und Weitergabe von Instanzen auch in komplexen, mehrfädigen Laufzeitumgebungen, ohne dass dabei Datenrennen entstehen können.

Interpretation: Hinsichtlich der Besitzverhältnisse wird die Ausnahme typischerweise per Wert geworfen und im Aufrufstapel per Referenz auf ein konstantes Objekt (const apext::tsync::TsyncFvmException&) abgefangen. Frage Q-6e8c4ad080550a52 (offen) Nach der Konstruktion durchläuft das Objekt keine weiteren Zustandsänderungen; seine Zerstörung erfolgt automatisch beim Verlassen des behandelnden catch-Blocks.

Nutzungspfad

Der reguläre Nutzungspfad vollzieht sich im Rahmen einer vom Freshness Value Manager durchgeführten Validierung oder Aktualisierung von Frischewerten. Erkennt der Manager eine Verletzung der Frischeintegrität oder einen internen Verarbeitungsfehler, leitet er die Fehlerbehandlung ein:

  1. Fehleridentifikation: Der Freshness Value Manager stellt einen Fehlerzustand fest und erzeugt ein entsprechendes ara::core::ErrorCode-Objekt.
  2. Instanziierung: Das Ausnahmeobjekt wird unter Übergabe des Fehlercodes über den Konstruktor initialisiert [SWS_TS_14204].
  3. Auslösen: Die Ausnahme wird mittels throw in den Aufrufkontext geworfen.
  4. Auswertung: Die aufrufende Anwendung oder Schicht fängt die Ausnahme ab und greift auf den eingebetteten Fehlercode zu, um adäquate Fehlerbehebungs- oder Degradationsmaßnahmen einzuleiten.
Ablauf der Ausnahmebehandlung mit apext::tsync::TsyncFvmExceptionAnwendungFreshness Value ManagerTsyncFvmExceptionFrischeprüfung anfordernUngültigen Frischewert erkanntara::core::ErrorCode instanziierenTsyncFvmException(errorCode)throw TsyncFvmExceptioncatch (const TsyncFvmException&)Fehlercode auswerten

Sequenzdiagramm: Typischer Ablauf der Fehlerbehandlung mit apext::tsync::TsyncFvmException vom Erkennen im Freshness Value Manager bis zum Abfangen im Aufrufer. Quellen: [SWS_TS_14204]

Fehlerszenarien

Da apext::tsync::TsyncFvmException selbst als Fehlersignalisierungsmechanismus konzipiert ist, liegen funktionale Fehlerszenarien vor allem im fehlerhaften Umgang mit der Ausnahme begründet. Als Vorbedingung für die Erzeugung gilt die Übergabe eines gültigen ara::core::ErrorCode an den Konstruktor [SWS_TS_14204]. Weil der Konstruktor jedoch als noexcept definiert ist, bleibt die Objekterzeugung selbst bei unerwarteten Fehlerwerten stabil [SWS_TS_14204].

Weil der Definitionsheader apext/tsync/fvm_error_domain.h vorgegeben ist, dürfte der gekapselte errorCode vorzugsweise der spezialisierten Fehlerdomäne des Freshness Value Managers entstammen [SWS_TS_14204]. Frage Q-91a4f2d66128bb91 (offen) Ein schwerwiegendes Fehlerszenario entsteht, wenn die geworfene Ausnahme auf Systemebene von keinem catch-Block behandelt wird; dies führt nach C++-Standardsemantik unweigerlich zum Aufruf von std::terminate und damit zum Prozessabbruch. Durch die garantierte Threadsicherheit nach [SWS_TS_14204] sind jedoch Fehler durch gleichzeitige Zugriffe aus parallelen Threads ausgeschlossen.

Dieser Leitfaden basiert ausschließlich auf den Spezifikationen des AUTOSAR-Releases R25-11.

UML-Klassendiagramm

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

Konstruktoren und Destruktor

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

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

Dokumentation der Methoden

function TsyncFvmException [SWS_TS_14204] Upstream: RS_TS_20072 Wortlaut noch nicht übernommen

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#10c9dc5e
Content hash
10c9dc5e
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