DEENESPTFRRUARHIKOZHNL

klasse ara::com::ComException

[SWS_CM_11327] Upstream: RS_AP_00130, RS_AP_00122, RS_AP_00127

class ComException final :            public ara::core::Exception {...};

Defines a class for exceptions to be thrown by the API.

Header-Datei#include "ara/com/com_error_domain.h"
Forwarding-Header#include "ara/com/com_fwd.h"
Scopenamespace ara::com
Basisklasse(n)ara::core::Exception

User GuideAI-GEGENEREERD

Dient als API-exceptieklasse voor het inkapselen en melden van fouten van het communicatiebeheer via foutcodes.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: becb2133e102 Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Dient als API-exceptieklasse voor het inkapselen en melden van fouten van het communicatiebeheer via foutcodes.

De klasse ara::com::ComException dient in AUTOSAR Adaptive als centrale exceptieklasse voor het signaleren van fouten bij aanroepen van de communicatie-API [SWS_CM_11327]. Deze kapselt een ara::core::ErrorCode in en wordt geïnstantieerd en geworpen bij mislukte operaties, waarbij de constructor als uitzonderingsveilig en niet-werpend is gedefinieerd [SWS_CM_11328]. Als C++-excepties in de compiler-toolchain zijn uitgeschakeld, vervallen de overeenkomstige werpende API-overbelastingen volledig uit de overbelastingsresolutie. Aanroepers vangen het exceptie-object op om de ingesloten foutcode te analyseren en foutafhandelingsmaatregelen in gang te zetten.

Context

De klasse ara::com::ComException dient in de module com van het AUTOSAR Adaptive Platform als gespecialiseerde exceptieklasse voor het signaleren van fouten bij aanroepen van de communicatie-API [SWS_CM_11327]. Deze leidt publiek af van de basisklasse ara::core::Exception en is gedeclareerd als final. Dit verduidelijkt de directe integratie in de overkoepelende foutafhandelingsarchitectuur van het Adaptive Platform. Door de aanduiding als final is de klasse vermoedelijk ontworpen als een verzegeld exceptietype dat niet bedoeld is voor een verdere afleidingshiërarchie. Vraag Q-2454b5b73295287b (open)

De primaire taak van ara::com::ComException bestaat erin een opgetreden fouttoestand in de vorm van een ara::core::ErrorCode in te kapselen en via het C++-exceptiemechanisme door te geven aan aanroepende lagen [SWS_CM_11328]. De declaratie en definitie worden beschikbaar gesteld via de header #include "ara/com/com_error_domain.h" [SWS_CM_11328]. Als centrale interactiepartners fungeren daarbij de gebruikende applicatiesoftware, de interne service- en API-functies van het communicatiebeheer en de typen van het foutdomein ara::core::ErrorCode.

Levenscyclus

De levenscyclus van een ara::com::ComException-object begint in de implementatie van een API-functie van het communicatiebeheer zodra een operatie mislukt en de exceptie wordt geïnstantieerd en geworpen AUTOSAR_AP_SWS_CommunicationManagement §8.12.5 “Class: ComException”. Het aanmaken gebeurt via de expliciete constructor, die het veroorzakende ara::core::ErrorCode-object overneemt [SWS_CM_11328].

Deze constructor is gedeclareerd met noexcept en heeft de eigenschap exception safe [SWS_CM_11328]. Hierdoor is gegarandeerd dat tijdens de constructie van het exceptie-object zelf geen verdere excepties kunnen optreden. Na het werpen via throw wordt het object in het kader van stack-unwinding getransporteerd totdat het wordt gebonden in een passend catch-blok van de aanroepende laag. Wat betreft eigendom wordt de instantie na het verlaten van het afhandelende blok automatisch op de stack vernietigd. Interne toestandsovergangen in de zin van een toestandsmachine vertoont de klasse niet; haar toestand blijft na de initialisatie met de foutcode onveranderlijk.

Gebruikspad

Het typische gebruikspad beschrijft het verloop van foutdetectie, het werpen van de exceptie en de daaropvolgende afhandeling:

  1. Een applicatiefunctie roept een operatie van de ara::com-interface aan.
  2. Treedt tijdens de verwerking een fout op, dan creëert de API-implementatie een nieuwe instantie van ara::com::ComException op basis van de bijbehorende errorCode en werpt deze op AUTOSAR_AP_SWS_CommunicationManagement §8.12.5 “Class: ComException”.
  3. De applicatie vangt de exceptie af in een passend blok. Het afvangen gebeurt aan applicatiezijde vermoedelijk via een constante referentie (const ara::com::ComException&) om kopieeroperaties te voorkomen. Vraag Q-5270e026eeac8be7 (open)
  4. Via de interface van de basisklasse benadert de aanroeper de ingesloten ara::core::ErrorCode en voert diagnose- of compensatiestappen uit [SWS_CM_11328].
Verloop van de exceptieafhandeling met ComExceptionAnwendungara::com-LaufzeitComExceptionAPI-aanroep uitvoeren()Kommunikationsfehler erkanntComException(errorCode) instanziierenthrow ComExceptioncatch (const ara::com::ComException&) en foutcode evalueren

Sequentiediagram: Verloop van foutdetectie, instantiëring en afhandeling van ara::com::ComException. Bronnen: [SWS_CM_11327], [SWS_CM_11328], AUTOSAR_AP_SWS_CommunicationManagement §8.12.5 “Class: ComException”

Foutscenario's

In de context van foutafhandeling en toolchain-configuratie gelden de volgende voorwaarden en randgevallen:

  • Uitgeschakelde C++-excepties: Wanneer C++-excepties in de compiler-toolchain zijn uitgeschakeld, nemen API-functies die ara::com::ComException creëren en werpen conform [SWS_CORE_10304] niet deel aan de overbelastingsresolutie AUTOSAR_AP_SWS_CommunicationManagement §8.12.5 “Class: ComException”. In dat geval valt de foutafhandelende software terug op alternatieve retourmechanismen.
  • Constructortypeveiligheid: Aangezien de constructor als explicit is gedeclareerd, worden impliciete typeconversies bij de overdracht van de ara::core::ErrorCode verhinderd [SWS_CM_11328].
  • Hiërarchisch afvangen: Omdat ara::com::ComException erft van ara::core::Exception, kunnen aanroepers excepties hetzij specifiek als ara::com::ComException, hetzij algemeen via handlers voor de basisklasse afhandelen.

Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive R25-11. Alle gegevens en verwijzingen steunen uitsluitend op de verstrekte specificatiefragmenten.

UML-klassendiagram

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

G nara__com__ComException152 ComException + ComException() nara__core__Exception792 Exception nara__com__ComException152->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

Constructors en destructor

ComException functie

Constructs a new ara::com::ComException containing an ara::core::ErrorCode

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

Documentatie van de methoden

functie ComException [SWS_CM_11328] Upstream: RS_AP_00120, RS_AP_00121, RS_AP_00130

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

Constructs a new ara::com::ComException containing an ara::core::ErrorCode

Header-Datei#include "ara/com/com_error_domain.h"
Scopeclass ara::com::ComException
Exception-Sicherheitexception 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_CM_11328
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11328@rel:R25-11#31bec47c
Content hash
31bec47c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11328
Status: valid/unmigrated Version: rel:R25-11#5e7d893a Versionshistorie & Revisions (1 transition, 7 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_CM_11328@rel:R25-11#5e7d893a
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#ffcd75022026-09-30
  • R20-11rel:R20-11#4a6338102026-10-14
  • R21-11rel:R21-11#4a6338102026-10-14
  • R22-11rel:R22-11#17139dec2026-10-14
  • R23-11rel:R23-11#41e9e0262026-10-14
  • R24-11rel:R24-11#94963f6e2026-10-14
  • R25-11rel:R25-11#5e7d893a2026-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