Dient voor het melden en inkapselen van fouten van de tijdsynchronisatie in de vorm van een exceptie met bijbehorende foutcode.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 02ba32fb22ccHerkomstOpen vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Dient voor het melden en inkapselen van fouten van de tijdsynchronisatie in de vorm van een exceptie met bijbehorende foutcode.
De exceptieklasse ara::tsync::TsyncException dient voor het inkapselen en doorgeven van fouten die optreden tijdens de tijdsynchronisatie binnen het Adaptive Platform. Zij leidt af van ara::core::Exception en neemt bij de constructie verplicht een specifieke ara::core::ErrorCode op, die de foutoorzaak beschrijft [SWS_TS_00903]. De constructor is gedeclareerd als noexcept, waarmee de instantiatie van de exceptie gegarandeerd uitzonderingsveilig en thread-safe verloopt [SWS_TS_00903]. Toepassingen vangen de exceptie vermoedelijk op in hun foutafhandelingspaden om de opgenomen foutcode gericht te evalueren. Vraag (open)
Context
De klasse ara::tsync::TsyncException vormt de dedicated exceptieklasse voor het functionele domein Time Synchronization (tsync) binnen het AUTOSAR Adaptive Platform. Conform specificatie wordt zij in de header ara/tsync/tsync_error_domain.h gedeclareerd en dient zij als centraal type om excepties af te beelden die door de tijdsynchronisatie worden veroorzaakt [SWS_TS_00903]. Door de publieke afleiding van de basisklasse ara::core::Exception past zij naadloos in de platformbrede foutafhandelingsarchitectuur.
In de systeemarchitectuur vervult ara::tsync::TsyncException de rol van informatiedrager tussen de implementatiecomponenten van de tijdsynchronisatiedienst en de toepassingsmodules. Treedt er in het kader van de synchronisatie een ernstige fout op, dan wordt deze niet geïsoleerd genegeerd, maar in de vorm van een gestandaardiseerde exceptie gemeld. De klasse werkt daarbij nauw samen met ara::core::ErrorCode, die de concrete oorzaak van de fout codeert en inkapselt [SWS_TS_00903].
Contextdiagram: Positionering van ara::tsync::TsyncException in het samenspel met Time Synchronization, ara::core::ErrorCode en ara::core::Exception. Bronnen: [SWS_TS_00903]
Levenscyclus
De levenscyclus van een instantie van ara::tsync::TsyncException begint met de expliciete instantiatie ervan. De specificatie voorziet hiervoor in een constructor die precies één foutcode van het type ara::core::ErrorCode accepteert: explicit TsyncException(ara::core::ErrorCode errorCode) noexcept[SWS_TS_00903]. Door de declaratie als explicit wordt voorkomen dat foutcodes impliciet en onbedoeld naar exceptie-objecten worden geconverteerd.
Voor de creatie van objecten formuleert AUTOSAR strikte toezeggingen: De constructie is uitdrukkelijk gespecificeerd als uitzonderingsveilig (exception safe) en thread-safe (thread-safe) [SWS_TS_00903]. Het sleutelwoord noexcept garandeert dat de constructor zelf onder geen enkele voorwaarde een volgende exceptie werpt [SWS_TS_00903]. Dit is essentieel, aangezien het aanmaken van de exceptie typisch plaatsvindt in het foutafhandelingspad en een mislukking op deze plek tot een ongecontroleerde systeemtoestand zou leiden.
Na de creatie is het object onderworpen aan de gebruikelijke C++-exceptiesemantiek: het wordt langs de aanroepstack getransporteerd totdat het door een passende handler wordt opgevangen. Met het verlaten van het catch-blok eindigt de levensduur van de exceptie-instantie en worden de resources deterministisch vrijgegeven.
Gebruikspad
Het typische verloop bij het gebruik van ara::tsync::TsyncException is onderverdeeld in foutidentificatie, objectcreatie en afvanging aan de toepassingszijde:
Foutidentificatie: De Time Synchronization stelt tijdens runtime een afwijking of fouttoestand vast en genereert een passende ara::core::ErrorCode[SWS_TS_00903].
Exceptiegeneratie en worp: Met behulp van de constructor wordt een ara::tsync::TsyncException-object met de vastgestelde foutcode geïnstantieerd en geworpen [SWS_TS_00903].
Foutafvanging: De aanroepende component vangt de exceptie op in een gestructureerd exceptieafhandelingsblok.
Ontwikkelaars behandelen de exceptie in hun applicaties vermoedelijk naar keuze specifiek als const ara::tsync::TsyncException& of vangen deze polymorf op via de basisklasse const ara::core::Exception&[SWS_TS_00903]. Vraag Q-0c8129359ef114e8 (open) Voor toegang tot de typedefinitie is het insluiten van de header ara/tsync/tsync_error_domain.h vereist [SWS_TS_00903].
Foutscenario's
Als exceptieklasse dient ara::tsync::TsyncException voor de expliciete representatie van foutscenario's. Het centrale bestanddeel is hierbij de ingekapselde ara::core::ErrorCode, die gedetailleerde informatie verschaft over de specifieke foutoorzaak binnen het foutdomein [SWS_TS_00903].
Een belangrijk kenmerk is het ontbreken van een parameterloze standaardconstructor. Daardoor wordt gewaarborgd dat er geen exceptie-instantie kan bestaan zonder een gekoppelde foutcode [SWS_TS_00903]. De noexcept-garantie van de constructor waarborgt voorts dat het inkapselen en signaleren van de fout niet wordt overschaduwd door secundaire exceptiefouten [SWS_TS_00903].
Deze handleiding is gegenereerd door een AI op basis van de AUTOSAR-specificatie R25-11.
UML-klassendiagram
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel