DEENESPTFRRUARHIKOZHNL

klasse ara::core::FutureException

[SWS_CORE_00411] Upstream: RS_AP_00130

class FutureException :           public Exception {...};

Exception type thrown by ara::core::Future and ara::core::Promise

Header-Datei#include "ara/core/future_error_domain.h"
Forwarding-Header#include "ara/core/core_fwd.h"
Scopenamespace ara::core
Basisklasse(n)Exception

User GuideAI-GEGENEREERD

Dient als uitzonderingstype voor fouten bij asynchrone bewerkingen met Future en Promise en kapselt een foutcode in.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 4af39887de1d Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Dient als uitzonderingstype voor fouten bij asynchrone bewerkingen met Future en Promise en kapselt een foutcode in.

De klasse ara::core::FutureException dient als specifiek uitzonderingstype dat bij fouten in combinatie met ara::core::Future en ara::core::Promise wordt gegooid [SWS_CORE_00412]. Zij kapselt een ara::core::ErrorCode in en wordt gecreëerd via een expliciete constructor [SWS_CORE_00412]. Voor veilig gebruik in asynchrone en multithreaded omgevingen is de instantiëring gespecificeerd als noexcept, thread-safe en uitzonderingsveilig [SWS_CORE_00412].

Context

De klasse ara::core::FutureException fungeert binnen de module core als specifiek uitzonderingstype voor asynchrone communicatie- en synchronisatieprimitieven. Overeenkomstig haar doel wordt dit uitzonderingstype geactiveerd door ara::core::Future en ara::core::Promise om fouttoestanden in de context van asynchrone bewerkingen aan de aanroeper te signaleren. Structureel erft ara::core::FutureException over van de basisklasse Exception en kapselt een domeinspecifieke foutcode in.

In collaboratieve scenario's vormt ara::core::FutureException de brug tussen het producerende asynchrone eindpunt (zoals ara::core::Promise), het consumerende eindpunt (ara::core::Future) en de foutafhandeling aan de applicatiezijde. De wisselwerking tussen deze drie partijen verduidelijkt het structurele kader waarbinnen de uitzondering ter foutafhandeling wordt overgedragen.

FutureExceptionKontext Promise ara::core::Promise Exception ara::core::FutureException Promise->Exception triggert / stelt in Future ara::core::Future Future->Exception werpt bij fout AppThread Anwendungs-Thread Future->AppThread benachrichtigt Exception->AppThread wordt opgevangen door

Contextdiagram: Inbedding van ara::core::FutureException tussen Promise, Future en de applicatiethread. Bronnen: [SWS_CORE_00412]

Levenscyclus

De instantiëring van ara::core::FutureException geschiedt expliciet via de constructor onder overdracht van een foutcode van het type ara::core::ErrorCode [SWS_CORE_00412]. Door de declaratie met explicit wordt een impliciete typeconversie vanuit een ara::core::ErrorCode verhinderd. De constructor is aangemerkt als noexcept, waardoor gewaarborgd is dat de constructie zelf geen verdere uitzonderingen kan veroorzaken [SWS_CORE_00412].

Wat betreft uitvoeringsveiligheid is de klasse gespecificeerd als uitzonderingsveilig (exception safe) [SWS_CORE_00412]. Voor gelijktijdig gebruik merkt de specificatie de constructie bovendien expliciet aan als thread-safe [SWS_CORE_00412]. Hierdoor kunnen asynchrone bewerkingen de uitzondering veilig over threadgrenzen heen instantiëren en doorgeven aan wachtende ontvangers.

Gebruikspad

Het typische toepassingsverloop omvat het ontstaan van een fout tijdens een asynchrone bewerking tot en met het opvangen van de uitzondering door de consumerende aanroeper. De beschikbaarstelling geschiedt doorgaans via de header ara/core/future_error_domain.h [SWS_CORE_00412].

Foutsignalering via ara::core::FutureExceptionErzeuger (Promise)Vermittler (Future)Ontvanger (thread)Use Case: Foutdetectie en instantiëringAsynchrone fout treedt opErrorCode wordt beschikbaar gesteldFehlerzustand setzenFutureException(err)Use Case: Ophalen en exceptieafhandelingErgebnis anfordernwirft FutureExceptioncatch (FutureException&)ErrorCode auswerten

Sequentiediagram: Verloop van het ontstaan van de fout via de instantiëring van ara::core::FutureException tot het opvangen. Bronnen: [SWS_CORE_00412]

Het gebruiksverloop is onderverdeeld in de volgende stappen:

  • Detectie van een mislukking of een niet-toegestane toestand bij de asynchrone verwerking in combinatie met ara::core::Promise of ara::core::Future.
  • Aanmaken van de ara::core::FutureException middels de constructor onder vermelding van de specifieke ara::core::ErrorCode [SWS_CORE_00412].
  • Overdracht van de uitzondering aan de consumerende thread, waar deze binnen een try-catch-blok wordt opgevangen en de aanwezige fout wordt geanalyseerd.

Foutscenario's

Omdat ara::core::FutureException zelf het middel voor foutsignalering vormt, beperken foutscenario's zich tot de voorwaarden voor haar eigen ontstaan. Door de aanduiding van de constructor met noexcept is gegarandeerd dat bij de objectcreatie geen uitvoeringsfout in de vorm van een secundaire uitzondering kan optreden [SWS_CORE_00412]. Als voorwaarde voor de constructie geldt het doorgeven van een geldig object van het type ara::core::ErrorCode als parameter err [SWS_CORE_00412]. Treedt bij het werken met ara::core::Future of ara::core::Promise een fout op, dan dient de uitzondering ertoe deze foutcode ongewijzigd naar bovenliggende aanroepen te transporteren.

Deze handleiding is gebaseerd op AUTOSAR Adaptive Platform R25-11.

UML-klassendiagram

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

G nara__core__FutureException511 FutureException + FutureException() nara__core__Exception792 Exception nara__core__FutureException511->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

Constructors en destructor

Construct a new ara::core::FutureException from an ara::core::ErrorCode

explicit FutureException (ErrorCode err) noexcept;

Documentatie van de methoden

functie FutureException [SWS_CORE_00412] Upstream: RS_AP_00130

explicit FutureException (ErrorCode err) noexcept;
Header-Datei#include "ara/core/future_error_domain.h"
Scopeclass ara::core::FutureException
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
errthe ara::core::ErrorCode

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00412
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00412@rel:R25-11#7185ee8c
Content hash
7185ee8c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00412
Status: valid/unmigrated Version: rel:R25-11#8d00af34 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_CORE_00412@rel:R25-11#8d00af34
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#38add4ec2026-09-30
  • R19-11rel:R19-11#85d2e6d42026-10-14
  • R20-11rel:R20-11#0ed7c8232026-10-14
  • R21-11rel:R21-11#0ed7c8232026-10-14
  • R22-11rel:R22-11#f9ed1ff42026-10-14
  • R23-11rel:R23-11#3515d8022026-10-14
  • R24-11rel:R24-11#7b05c81d2026-10-14
  • R25-11rel:R25-11#8d00af342026-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