DEENESPTFRRUARHIKOZHNL

class ara::tsync::TsyncException

[SWS_TS_00902] Upstream: RS_AP_00130, RS_AP_00122, RS_AP_00127, RS_AP_00154, RS_AP_00150

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

Defines a class for exceptions to be thrown by the Time Synchronization.

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

User GuideKI-GENERIERT

Dient dem Melden und Kapseln von Fehlern der Zeitsynchronisation in Form einer Ausnahme mit zugehörigem Fehlercode.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 02ba32fb22cc Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient dem Melden und Kapseln von Fehlern der Zeitsynchronisation in Form einer Ausnahme mit zugehörigem Fehlercode.

Die Ausnahmeklasse ara::tsync::TsyncException dient der Kapselung und Weitergabe von Fehlern, die während der Zeitsynchronisation innerhalb der Adaptive Platform auftreten. Sie leitet sich von ara::core::Exception ab und nimmt bei ihrer Konstruktion verpflichtend einen spezifischen ara::core::ErrorCode auf, der die Fehlerursache beschreibt [SWS_TS_00903]. Der Konstruktor ist als noexcept deklariert, womit die Instanziierung der Ausnahme garantiert ausnahmesicher und threadsicher abläuft [SWS_TS_00903]. Anwendungen dürften die Ausnahme in ihren Fehlerbehandlungspfaden abfangen, um den enthaltenen Fehlercode gezielt auszuwerten. Frage (offen)

Kontext

Die Klasse ara::tsync::TsyncException stellt die dedizierte Ausnahmeklasse für den Funktionsbereich Time Synchronization (tsync) innerhalb der AUTOSAR Adaptive Platform dar. Gemäß Spezifikation wird sie im Header ara/tsync/tsync_error_domain.h deklariert und dient als zentraler Typ, um Ausnahmen abzubilden, die durch die Zeitsynchronisation ausgelöst werden [SWS_TS_00903]. Durch die öffentliche Ableitung von der Basisklasse ara::core::Exception fügt sie sich nahtlos in die plattformweite Fehlerbehandlungsarchitektur ein.

In der Systemarchitektur übernimmt ara::tsync::TsyncException die Rolle des Informationsträgers zwischen den Implementierungskomponenten des Zeitsynchronisationsdienstes und den Anwendungsmodulen. Tritt im Rahmen der Synchronisation ein schwerwiegender Fehler auf, wird dieser nicht isoliert verworfen, sondern in Form einer standardisierten Ausnahme gemeldet. Die Klasse arbeitet dabei eng mit ara::core::ErrorCode zusammen, welcher die konkrete Ursache des Fehlers codiert und kapselt [SWS_TS_00903].

tsync Time Synchronization (ara::tsync) texc ara::tsync::TsyncException tsync->texc wirft errcode ara::core::ErrorCode errcode->texc Parameter errorCode base ara::core::Exception base->texc Basisklasse

Kontextdiagramm: Einordnung von ara::tsync::TsyncException im Zusammenspiel mit Time Synchronization, ara::core::ErrorCode und ara::core::Exception. Quellen: [SWS_TS_00903]

Lebenszyklus

Der Lebenszyklus einer Instanz von ara::tsync::TsyncException beginnt mit ihrer expliziten Instanziierung. Die Spezifikation sieht hierfür einen Konstruktor vor, der genau einen Fehlercode vom Typ ara::core::ErrorCode entgegennimmt: explicit TsyncException(ara::core::ErrorCode errorCode) noexcept [SWS_TS_00903]. Durch die Deklaration als explicit wird unterbunden, dass Fehlercodes implizit und unbeabsichtigt in Ausnahmeobjekte konvertiert werden.

Für die Objekterzeugung formuliert AUTOSAR strenge Zusicherungen: Die Konstruktion ist ausdrücklich als ausnahmesicher (exception safe) und threadsicher (thread-safe) spezifiziert [SWS_TS_00903]. Das Schlüsselwort noexcept garantiert, dass der Konstruktor selbst unter keinen Bedingungen eine weitere Ausnahme wirft [SWS_TS_00903]. Dies ist essenziell, da die Ausnahmeerzeugung typischerweise im Fehlerbehandlungspfad stattfindet und ein Fehlschlag an dieser Stelle zu einem unkontrollierten Systemzustand führen würde.

Nach der Erzeugung unterliegt das Objekt der üblichen C++-Ausnahmesemantik: Es wird entlang des Aufrufstapels transportiert, bis es von einem entsprechenden Handler abgefangen wird. Mit dem Verlassen des catch-Blocks endet die Lebensdauer der Ausnahmeinstanz, und die Ressourcen werden deterministisch freigegeben.

Nutzungspfad

Der typische Ablauf bei der Nutzung von ara::tsync::TsyncException gliedert sich in Fehleridentifikation, Objekterzeugung und anwendungsseitiges Abfangen:

  • Fehleridentifikation: Die Time Synchronization stellt zur Laufzeit eine Abweichung oder einen Fehlerzustand fest und erzeugt einen passenden ara::core::ErrorCode [SWS_TS_00903].
  • Ausnahmeerzeugung und Wurf: Unter Verwendung des Konstruktors wird ein ara::tsync::TsyncException-Objekt mit dem ermittelten Fehlercode instanziiert und ausgelöst [SWS_TS_00903].
  • Fehlerabfangung: Die aufrufende Komponente fängt die Ausnahme in einem strukturierten Ausnahmebehandlungsblock ab.

Entwickler dürften in ihren Applikationen die Ausnahme wahlweise spezifisch als const ara::tsync::TsyncException& behandeln oder polymorph über die Basisklasse const ara::core::Exception& abfangen [SWS_TS_00903]. Frage Q-0c8129359ef114e8 (offen) Für den Zugriff auf die Typdefinition ist die Einbindung des Headers ara/tsync/tsync_error_domain.h erforderlich [SWS_TS_00903].

Fehlerszenarien

Als Ausnahmeklasse dient ara::tsync::TsyncException der expliziten Repräsentation von Fehlerszenarien. Der zentrale Bestandteil ist hierbei der gekapselte ara::core::ErrorCode, welcher detaillierte Auskunft über den spezifischen Fehlergrund innerhalb der Fehlerdomäne gibt [SWS_TS_00903].

Ein wesentliches Merkmal ist das Fehlen eines parameterlosen Standardkonstruktors. Dadurch wird sichergestellt, dass keine Ausnahmeinstanz ohne einen zugeordneten Fehlercode existieren kann [SWS_TS_00903]. Die noexcept-Garantie des Konstruktors stellt ferner sicher, dass die Kapselung und Signalisierung des Fehlers nicht durch sekundäre Ausnahmefehler überlagert wird [SWS_TS_00903].

Dieser Leitfaden wurde durch eine KI auf Basis der AUTOSAR-Spezifikation R25-11 generiert.

UML-Klassendiagramm

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

G nara__tsync__TsyncException184 TsyncException + TsyncException() nara__core__Exception792 Exception nara__tsync__TsyncException184->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

Konstruktoren und Destruktor

Constructs a new TsyncException object containing an error code.

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

Dokumentation der Methoden

function TsyncException [SWS_TS_00903] Upstream: RS_AP_00120, RS_AP_00121, RS_AP_00130

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

Constructs a new TsyncException object containing an error code.

Header-Datei#include "ara/tsync/tsync_error_domain.h"
Scopeclass ara::tsync::TsyncException
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_00903
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_00903@rel:R25-11#f5877bab
Content hash
f5877bab
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_00903
Status: valid/unmigrated Version: rel:R25-11#7c8b669e Versionshistorie & Revisions (1 transition, 4 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_00903@rel:R25-11#7c8b669e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#f5877bab2026-09-30
  • R23-11rel:R23-11#9b018b632026-10-14
  • R24-11rel:R24-11#7c8b669e2026-10-14
  • R25-11rel:R25-11#7c8b669e2026-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