Kapselt en identificeert algemene communicatiefouten van de middleware voor gestandaardiseerde foutafhandeling.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 13073fe45989HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Kapselt en identificeert algemene communicatiefouten van de middleware voor gestandaardiseerde foutafhandeling.
De klasse ara::com::ComErrorDomain vertegenwoordigt het communicatiefoutdomein voor het identificeren van algemene, niet-interfacespecifieke fouten in de ara::com-API ([SWS_CM_11265]). Deze stelt foutbeschrijvingen beschikbaar voor foutcodes zoals ComErrc::kCommunicationFailure en maakt het opvragen daarvan mogelijk via Message() of het omzetten in een exceptie door middel van ThrowAsException() ([SWS_CM_11332]). Aangezien de standaardconstructor ervan is verwijderd, fungeert deze als stateless, thread-safe domeininstantie voor de foutdragende ara::core::Result.
Context
De klasse ara::com::ComErrorDomain vertegenwoordigt het gestandaardiseerde communicatiefoutdomein van het Adaptive Platform voor het functionele cluster Communication Management (SWS CommunicationManagement p. 439). Deze is afgeleid van de basisklasse ara::core::ErrorDomain en definieert de semantische context voor algemene fouten die kunnen optreden tijdens methode-aanroepen of gegevensoverdrachten, maar niet specifiek zijn voor een afzonderlijke ServiceInterface ([SWS_CM_11265]). In de foutarchitectuur van ara::com bakent deze algemene communicatiestoringen systematisch af van E2E-bewakingsfouten en applicatiespecifieke servicefouten (SWS CommunicationManagement §7.5.22.6 “Error Related Data Types”).
Tot de centrale interactiepartners behoren de Adaptive Application, de service- en proxy-implementaties van de middleware evenals de datatypen ara::core::ErrorCode en ara::core::Result van het basissysteem (EXP ARAComAPI §4.7 “Error Handling”). Voor de semantische typebinding stelt de klasse de type-aliassen Errc voor de foutcode-enumeratie ComErrc ([SWS_CM_11336]) en Exception voor de bijbehorende exceptieklasse ComException beschikbaar ([SWS_CM_11337]).
Als specificatieklasse voor een foutdomein is het aanmaken van ara::com::ComErrorDomain verhinderd door de verwijdering van de standaardconstructor ComErrorDomain() = delete; ([SWS_CM_11330]). Interpretatie: het beschikbaar stellen van de domeininstantie vindt vermoedelijk plaats als statische singleton via het platform, zodat applicatiecomponenten het domein niet dynamisch hoeven te instantiëren of beheren. Vraag Q-bf957a108c0a5378 (open)
De instantie fungeert als een stateless descriptor zonder veranderlijke attributen. Alle beschikbaar gestelde methoden zoals Name() ([SWS_CM_11331]) en Message() ([SWS_CM_11332]) zijn gedeclareerd als const noexcept. Dit waarborgt onbeperkte thread-safety bij gelijktijdige foutopvragingen door parallelle applicatie- en middleware-threads.
Gebruikspad
Het typische gebruikstraject omvat het detecteren, overdragen en evalueren van een fout via de interfaces van ara::com:
De applicatie initieert een service-interactie, bijvoorbeeld via de aanroepoperator van de methodeklasse operator() ([SWS_CM_00196]).
Detecteert de middleware tijdens de verwerking een foutsituatie, zoals een communicatiestoring of een niet-geconfigureerde applicatiefout ([SWS_CM_00048]), dan wordt de operatie SetError op de corresponderende Promise aangeroepen (SWS CommunicationManagement p. 300).
Daarbij wordt een ara::core::ErrorCode geconstrueerd waarvan het domein is ingesteld op ara::com::ComErrorDomain ([SWS_CM_11329]) en de numerieke code op een specifieke enum-waarde zoals ComErrc::kCommunicationFailure ([SWS_CM_10432]).
De aan de applicatie geretourneerde ara::core::Future resp. ara::core::Result transporteert de foutcode in fouttoestand naar de aanroeper (EXP ARAComAPI §4.7 “Error Handling”).
De applicatie controleert de Result en gebruikt de domeinfuncties Name() ([SWS_CM_11331]) en Message() ([SWS_CM_11332]) om foutmeldingen op te lossen voor logging of diagnose.
Indien de applicatielogica een exceptie verwacht en C++-exceptions zijn ingeschakeld, kan de overgang naar een ComException door middel van ThrowAsException() worden geactiveerd ([SWS_CM_11333]).
Het foutconcept van ara::com maakt een strikt onderscheid tussen herstelbare fouten (Recoverable Errors) en ernstige programmeschendingen (Violations of Corruptions) (EXP ARAComAPI §4.7 “Error Handling”). Herstelbare fouten worden afgehandeld via ara::core::Result en ara::core::ErrorCode, waarbij foutcodes van het domein ComErrorDomain worden geadresseerd via de identifier-alias Errc ([SWS_CM_11336]).
Treedt er bijvoorbeeld tijdens een aanroep op afstand een overdrachtsonderbreking op, dan meldt het systeem ComErrc::kCommunicationFailure ([SWS_CM_10432]). Bij een niet-geconfigureerde applicatiefout breekt de middleware de aanroep af en stelt eveneens een overeenkomstige foutcode van het domein in ([SWS_CM_00048], SWS CommunicationManagement p. 300).
Moet een foutcode als exceptie worden geworpen, dan instantieert ThrowAsException() een exceptie van het type ComException ([SWS_CM_11337]) en werpt deze ([SWS_CM_11333]). Deze methode is niet uitzonderingsveilig (not exception safe) en neemt volgens de specificatie bij uitgeschakelde C++-exceptions niet deel aan overload resolution ([SWS_CM_11333]). Niet-herstelbare systeemschendingen leiden daarentegen direct tot het afbreken van het platform en worden niet via ComErrorDomain behandeld (EXP ARAComAPI §4.7 “Error Handling”).
Deze handleiding is opgesteld door een AI op basis van de AUTOSAR-specificaties R25-11.
Creates a new instance of ara::com::ComException from errorCode and throws it. As per [SWS_CORE_10304], this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 4c51965f3a93HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De lidfunctie Name() van de klasse ara::com::ComErrorDomain dient voor het gestandaardiseerd opvragen van de tekstuele aanduiding van dit foutdomein ([SWS_CM_11331]). De aanroep vindt synchroon plaats, vereist geen overdrachtsparameters en levert een constante pointer van het type const char * naar de bijbehorende tekenreeks op ([SWS_CM_11331]). De exacte representatie van de geleverde tekenreeks richt zich naar de specificaties voor ara::com::ComErrorDomain in [SWS_CORE_90023]. De declaratie moet via de header ara/com/com_error_domain.h worden ingesloten ([SWS_CM_11331]).
Foutafhandeling en gelijktijdigheid
De methode is voorzien van de specificatie noexcept en geclassificeerd als uitzonderingsveilig (exception safe) ([SWS_CM_11331]). Er worden in geval van fouten noch excepties geworpen noch specifieke foutcodes gerapporteerd, aangezien het om een zuivere leesoperatie gaat. Aangezien uitsluitend een onveranderlijke tekenreeksconstante wordt geadresseerd, is de methode vermoedelijk re-entrant en ondersteunt deze gelijktijdige aanroepen vanuit meerdere threads veilig zonder externe synchronisatie. Vraag Q-a9f6ae55558ebb1f (open)
Samenspel
De functie maakt deel uit van de gestandaardiseerde foutdomein-identificatoren binnen het communicatiebeheer (AUTOSAR_AP_SWS_CommunicationManagement §1 “Change History”). Het naam- en interfaceschema is consistent over verwante domeinen geïmplementeerd: zo definiëren ook het End-to-End-foutdomein ara::com::e2e::ComE2EErrorDomain via [SWS_CM_12507] en het SecOC-FVM-foutdomein apext::com::secoc::ComSecOcFvmErrorDomain via [SWS_CM_12518] gelijkaardige Name()-methoden voor identificatie.
Deze tekst is gegenereerd door een AI op basis van de AUTOSAR-specificatie.
Creates a new instance of ara::com::ComException from errorCode and throws it. As per [SWS_CORE_10304], this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: bc30613084e7HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De lidfunctie ThrowAsException van het foutdomein ara::com::ComErrorDomain ([SWS_CM_11333]; SWS CommunicationManagement §8.12.4.2.2.3 “ThrowAsException”) creëert synchroon uit een doorgegeven foutcode errorCode (van het type const ara::core::ErrorCode&) een instantie van de exceptie ara::com::ComException en werpt deze direct op. De interface heeft geen retourwaarde (void) en wordt via het headerbestand ara/com/com_error_domain.h gedeclareerd.
Foutafhandeling en exception-veiligheid
De signatuur is gedeclareerd met noexcept(false) en gespecificeerd als niet-uitzonderingsveilig (not exception safe) ([SWS_CM_11333]), aangezien het triggeren van de exceptie het primaire doel van de functie is. Specifieke DET- of DEM-meldingen zijn voor deze aanroep niet gedefinieerd.
Randvoorwaarden en beperkingen
Als centrale randvoorwaarde geldt: wanneer C++-excepties in de compiler-toolchain zijn gedeactiveerd, neemt de functie conform [SWS_CORE_10304] niet deel aan overload resolution ([SWS_CM_11333]). Interpretatie: in software-architecturen met gedeactiveerde uitzonderingsafhandeling is de functie tijdens compileertijd vermoedelijk dan ook niet aanroepbaar. Vraag Q-437f825160e6801e (open)
gemini-3.8-flash-low· 2026-10-13 · Duits origineel