Dient als specifieke C++-exceptie voor het signaleren van fouten vanuit End-to-End-interfaces inclusief foutcode.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 385c2dd6528bHerkomstOpen vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Dient als specifieke C++-exceptie voor het signaleren van fouten vanuit End-to-End-interfaces inclusief foutcode.
De klasse ara::com::e2e::ComE2EException dient als gestandaardiseerde C++-exceptie voor het melden van fouten vanuit de E2E-API's van Communication Management ([SWS_CM_12501]). Deze leidt af van ara::core::Exception en kapselt een specifieke ara::core::ErrorCode in, die bij de instantiëring via een uitzonderingsveilige noexcept-constructor wordt meegegeven ([SWS_CM_12502]). Indien C++-excepties in de compiler-toolchain zijn uitgeschakeld, neemt de werpende functie volgens de specificatie niet deel aan de overbelastingsresolutie, zodat dit foutpad actieve ondersteuning van excepties vereist.
Binnen de functionele architectuur van AUTOSAR Adaptive fungeert ComE2EException als communicatiebrug tussen de E2E-bewakingsroutines van het platform en de aanroepende applicatiesoftware. Als een E2E-functie bij de controle of verwerking van gegevens een fouttoestand detecteert, wordt deze fout via het werpen van deze exceptie doorgegeven aan de bovenliggende control flow (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 “Class: ComE2EException”).
Levenscyclus
De instantiëring van een object van ComE2EException vindt expliciet plaats door overdracht van een foutcode aan de constructor explicit ComE2EException(ara::core::ErrorCode errorCode) noexcept ([SWS_CM_12502], AUTOSAR_AP_SWS_CommunicationManagement §8.15.4.1.1.1 “ComE2EException”). De constructor is gespecificeerd als noexcept en uitzonderingsveilig (exception safe) ([SWS_CM_12502]). Hierdoor wordt gegarandeerd dat bij de constructie van de exceptie zelf geen verdere excepties kunnen worden geworpen, wat de robuustheid in het foutpad waarborgt.
Met betrekking tot de eigendomsverhoudingen wordt de exceptie door de initiërende E2E-interface gegenereerd en per waarde geworpen (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 “Class: ComE2EException”). Aan applicatiezijde wordt het object typisch als constante referentie opgevangen. Zodra het desbetreffende afhandelingsblok wordt verlaten, vindt de automatische vernietiging plaats in het kader van de reguliere C++-stack-unwinding. Aangezien de klasse als final is gedefinieerd, zijn er geen subklassen voorzien.
Gebruikspad
Het typische verloop bij het gebruik van de exceptie is onderverdeeld in de volgende fasen:
De applicatiesoftware roept een E2E-beveiligde functie van het communicatiemanagement aan.
De applicatie vangt de exceptie op in een try-catch-blok. Aanroepers benaderen hierbij vermoedelijk (interpretatie) de overgeërfde basismethoden van ara::core::Exception om de aanwezige ara::core::ErrorCode voor de foutdiagnose te evalueren. Vraag Q-8dfac2428f223afe (open)
Voor het gebruik van ComE2EException geldt een wezenlijke voorwaarde ten aanzien van de toolchain: conform [SWS_CORE_10304] neemt de functie die de instantie genereert en werpt niet deel aan overload resolution als C++-exceptions in de compiler zijn uitgeschakeld (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 “Class: ComE2EException”). In runtime-omgevingen zonder ondersteuning voor C++-exceptions bestaat dit signaalpad daarom niet; fouten worden in dat geval vermoedelijk (interpretatie) doorgegeven via alternatieve, niet op excepties gebaseerde foutmechanismen van het platform. Vraag Q-e1b3f4f1dfc191ef (open)
Voor zover excepties actief zijn, transporteert elke ComE2EException verplicht een foutcode ([SWS_CM_12502]). Als voorwaarde voor de instantiëring moet er een geldige ara::core::ErrorCode beschikbaar zijn ([SWS_CM_12502]). Aangezien de constructor als uitzonderingsveilig is gedeclareerd ([SWS_CM_12502]), kan het aanmaken van het object zelfs bij fouten niet mislukken.
Deze handleiding is gebaseerd op de AUTOSAR-specificatie R25-11 en is automatisch gecureerd.
UML-klassendiagram
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel