Dient dem Melden und Kapseln von Fehlern der Zeitsynchronisation in Form einer Ausnahme mit zugehörigem Fehlercode.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 02ba32fb22ccHerkunftOffene 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].
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.
gemini-3.8-flash-medium· 2026-10-13