DEENESPTFRRUARHIKOZHNL

klasse ara::exec::ExecException

[SWS_EM_02282] Upstream: RS_AP_00130, RS_AP_00122, RS_AP_00127, RS_AP_00154, RS_AP_00150, RS_AP_00140

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

Defines a class for exceptions to be thrown by the Execution Management.

Header-Datei#include "ara/exec/exec_error_domain.h"
Forwarding-Header#include "ara/exec/exec_fwd.h"
Scopenamespace ara::exec
Basisklasse(n)ara::core::Exception

User GuideAI-GEGENEREERD

Kapselt foutcodes van Execution Management in als C++-exceptie voor synchrone foutafhandeling.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: e102ca6cc8ed Herkomst Open vragen (3)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Kapselt foutcodes van Execution Management in als C++-exceptie voor synchrone foutafhandeling.

De klasse ara::exec::ExecException dient als finale exceptieklasse van Execution Management voor het inkapselen en signaleren van modulespecifieke fouten via het C++-exceptiemechanisme. Instanties worden in geval van een fout onder opgave van een ara::core::ErrorCode via de thread-veilige constructor aangemaakt en geworpen, waarna aanroepende plaatsen deze opvangen en analyseren [SWS_EM_02283]. Als fundamentele randvoorwaarde is de constructie gespecificeerd als noexcept, waardoor het aanmaken van objecten gegarandeerd exceptieveilig blijft [SWS_EM_02283]. Niet-afgehandelde excepties moeten worden vermeden, omdat ze leiden tot systeembeëindiging.

Context

De klasse ara::exec::ExecException vormt de centrale exceptieklasse van de module Execution Management (exec) binnen het AUTOSAR Adaptive Platform. Conform de specificatie dient deze als inkapseling voor excepties die door Execution Management worden geactiveerd. De klassedeclaratie definieert deze als final met publieke overerving van de standaard basisexceptieklasse ara::core::Exception, waardoor deze naadloos aansluit op het uniforme concept voor exceptie- en foutafhandeling van het Adaptive Platform. Door de identifier final is verdere specialisatie of subclassificatie uitgesloten.

De exceptieklasse wordt gedeclareerd in de header #include "ara/exec/exec_error_domain.h" [SWS_EM_02283]. De primaire functionele verantwoordelijkheid van ara::exec::ExecException ligt in het transporteren van modulespecifieke fouttoestanden via het C++-exceptiemechanisme. Interpretatie: Het werpen van deze exceptie komt vermoedelijk vooral tot uiting in uitvoeringsomgevingen waarin fouttoestanden van Execution Management niet louter via op waarden gebaseerde fouttypen worden doorgegeven, maar een synchrone afbreking van de control flow via C++-excepties vereist is. Vraag Q-8faec8c282524965 (open)

Levenscyclus

De levenscyclus van een instantie van ara::exec::ExecException begint met de expliciete constructie onder overdracht van een foutcode. De constructor explicit ExecException(ara::core::ErrorCode errorCode) noexcept maakt een nieuw exceptie-object aan dat de overgedragen foutcode inkapselt [SWS_EM_02283]. De aanduiding als noexcept zorgt ervoor dat het aanmaken van objecten zelfs in de context van een reeds bestaande foutafhandeling gegarandeerd vrij van storingen blijft en geen opeenvolgende gevolgfouten veroorzaakt [SWS_EM_02283].

Wat betreft de uitvoeringsveiligheid is de constructie expliciet geclassificeerd als behoudens excepties („exception safe”) en thread-veilig („thread-safe”) [SWS_EM_02283]. Dit maakt het betrouwbaar aanmaken van exceptie-instanties over verschillende threads heen mogelijk, zonder dat aanvullende synchronisatiemechanismen nodig zijn. Na het activeren via throw gaat het object over naar het beheer van het C++-runtimesysteem. Interpretatie: De vernietiging van het exceptie-object vindt automatisch plaats na het verlaten van het afhandelende catch-blok tijdens de reguliere stack unwinding, waardoor er geen expliciet levenscyclusbeheer door de aanroeper noodzakelijk is. Vraag Q-ec22ad5f177555aa (open)

Gebruikspad

Een typisch gebruikspad van ara::exec::ExecException omvat het instantiëren in geval van een fout binnen Execution Management en het gecontroleerd opvangen in de aanroepende applicatiecontext:

  • Foutidentificatie en instantiëring: Treedt er in Execution Management een exceptieconditie op, dan wordt de oorzaak afgebeeld in een ara::core::ErrorCode van het bijbehorende foutdomein en gebruikt voor de expliciete initialisatie van een ara::exec::ExecException [SWS_EM_02283].
  • Signalering: De geïnitialiseerde exceptie-instantie wordt geworpen, waardoor het reguliere uitvoeringspad wordt onderbroken en de stack unwinding wordt ingeleid.
  • Opvangen: Aanroepende componenten vangen het exceptie-object hetzij gericht op als const ara::exec::ExecException&, hetzij algemener via de polymorfe basisklasse const ara::core::Exception&.
  • Evaluatie: Interpretatie: Aangezien het object met een ara::core::ErrorCode is geconstrueerd [SWS_EM_02283] en overerft van ara::core::Exception, zal de ontvanger vermoedelijk de ingesloten foutcode extraheren via interfaces van de basisklasse om modulespecifieke herstel- of loggingmaatregelen uit te voeren. Vraag Q-d4671c34f5aab6f9 (open)

Foutscenario's

Als gespecialiseerde exceptieklasse is ara::exec::ExecException erop ingericht om bestaande foutsituaties af te beelden, zonder bij het eigen gebruik ervan nieuwe fouten te introduceren. Voor het aanmaken vereist de constructor de overdracht van een ara::core::ErrorCode [SWS_EM_02283]. Omdat de constructor is gedeclareerd als noexcept, zijn preconditiefouten bij de instantiëring uitgesloten die het aanmaken van het exceptie-object zouden kunnen belemmeren [SWS_EM_02283].

Een wezenlijk foutscenario op systeemniveau ligt in het onvolledig opvangen van geworpen excepties. Blijft een door ara::exec::ExecException getriggerde exceptie langs de aanroephiërarchie onbehandeld, dan treedt de standaard C++-runtime-afhandeling in werking, wat doorgaans uitmondt in de aanroep van std::terminate en daarmee in het voortijdig afbreken van het proces. Interagerende softwarecomponenten moeten er daarom voor zorgen dat aanroepen naar potentieel werpende functies van Execution Management worden beveiligd met adequate try-catch-blokken.

Deze handleiding is gegenereerd door een AI op basis van de specificatie AUTOSAR Adaptive Platform R25-11.

UML-klassendiagram

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

G nara__exec__ExecException556 ExecException + ExecException() nara__core__Exception792 Exception nara__exec__ExecException556->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

Constructors en destructor

Constructs a new ExecException object containing an error code.

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

Documentatie van de methoden

functie ExecException [SWS_EM_02283] Upstream: RS_AP_00120, RS_AP_00121, RS_AP_00130, RS_AP_00159

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

Constructs a new ExecException object containing an error code.

Header-Datei#include "ara/exec/exec_error_domain.h"
Scopeclass ara::exec::ExecException
Exception-Sicherheitexception safe
Thread-Sicherheitthread-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_EM_02283
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_EM_02283@rel:R25-11#60642b56
Content hash
60642b56
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_ExecutionManagement.pdf#nameddest=SWS_EM_02283
Status: valid/unmigrated Version: rel:R25-11#f57f2491 Versionshistorie & Revisions (1 transition, 8 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_EM_02283@rel:R25-11#f57f2491
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#7afdb8d92026-09-30
  • R19-11rel:R19-11#5683c5ea2026-10-14
  • R20-11rel:R20-11#1a1c4d242026-10-14
  • R21-11rel:R21-11#1a1c4d242026-10-14
  • R22-11rel:R22-11#49bf1b972026-10-14
  • R23-11rel:R23-11#4052ff1d2026-10-14
  • R24-11rel:R24-11#8fa7f4222026-10-14
  • R25-11rel:R25-11#f57f24912026-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