DEENESPTFRRUARHIKOZHNL

class 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 GuideKI-GENERIERT

Dient als Ausnahmetyp für Fehler bei asynchronen Operationen mit Future und Promise und kapselt einen Fehlercode.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 4af39887de1d Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient als Ausnahmetyp für Fehler bei asynchronen Operationen mit Future und Promise und kapselt einen Fehlercode.

Die Klasse ara::core::FutureException dient als spezifischer Ausnahmetyp, der bei Fehlern in Verbindung mit ara::core::Future und ara::core::Promise geworfen wird [SWS_CORE_00412]. Sie kapselt einen ara::core::ErrorCode und wird über einen expliziten Konstruktor erzeugt [SWS_CORE_00412]. Für den sicheren Einsatz in asynchronen und nebenläufigen Umgebungen ist die Instanziierung als noexcept, threadsicher und ausnahmesicher spezifiziert [SWS_CORE_00412].

Kontext

Die Klasse ara::core::FutureException fungiert innerhalb des Moduls core als dedizierter Ausnahmetyp für asynchrone Kommunikations- und Synchronisationsprimitive. Gemäß ihrer Zweckbestimmung wird dieser Ausnahmetyp von ara::core::Future sowie ara::core::Promise ausgelöst, um Fehlerzustände im Kontext asynchroner Operationen an den Aufrufer zu signalisieren. Strukturell leitet ara::core::FutureException von der Basisklasse Exception ab und kapselt einen domänenspezifischen Fehlercode.

In kollaborativen Szenarien bildet ara::core::FutureException die Brücke zwischen dem erzeugenden asynchronen Endpunkt (wie ara::core::Promise), dem konsumierenden Endpunkt (ara::core::Future) und der anwendungsseitigen Fehlerbehandlung. Das Zusammenspiel dieser drei Beteiligten verdeutlicht den strukturellen Rahmen, in dem die Ausnahme zur Fehlerbehandlung übergeben wird.

FutureExceptionKontext Promise ara::core::Promise Exception ara::core::FutureException Promise->Exception löst aus / setzt Future ara::core::Future Future->Exception wirft bei Fehler AppThread Anwendungs-Thread Future->AppThread benachrichtigt Exception->AppThread wird abgefangen von

Kontextdiagramm: Einbettung von ara::core::FutureException zwischen Promise, Future und dem Anwendungs-Thread. Quellen: [SWS_CORE_00412]

Lebenszyklus

Die Instanziierung von ara::core::FutureException erfolgt explizit über den Konstruktor unter Übergabe eines Fehlercodes vom Typ ara::core::ErrorCode [SWS_CORE_00412]. Durch die Deklaration mit explicit wird eine implizite Typkonvertierung aus einem ara::core::ErrorCode unterbunden. Der Konstruktor ist als noexcept ausgewiesen, wodurch gewährleistet ist, dass die Konstruktion selbst keine weiteren Ausnahmen auslösen kann [SWS_CORE_00412].

Hinsichtlich der Ausführungssicherheit ist die Klasse als ausnahmesicher (exception safe) spezifiziert [SWS_CORE_00412]. Für den nebenläufigen Betrieb weist die Spezifikation die Konstruktion zudem explizit als threadsicher (thread-safe) aus [SWS_CORE_00412]. Dies gestattet es asynchronen Operationen, die Ausnahme über Thread-Grenzen hinweg sicher zu instanziieren und an wartende Empfänger weiterzureichen.

Nutzungspfad

Der typische Einsatzablauf umfasst die Entstehung eines Fehlers während einer asynchronen Operation bis hin zum Abfangen der Ausnahme durch den konsumierenden Aufrufer. Die Bereitstellung erfolgt typischerweise über den Header ara/core/future_error_domain.h [SWS_CORE_00412].

Fehlersignalisierung über ara::core::FutureExceptionErzeuger (Promise)Vermittler (Future)Empfänger (Thread)Use Case: Fehlererkennung und InstanziierungAsynchroner Fehler tritt aufErrorCode wird bereitgestelltFehlerzustand setzenFutureException(err)Use Case: Abruf und AusnahmebehandlungErgebnis anfordernwirft FutureExceptioncatch (FutureException&)ErrorCode auswerten

Sequenzdiagramm: Ablauf von Fehlerentstehung über Instanziierung von ara::core::FutureException bis zum Abfangen. Quellen: [SWS_CORE_00412]

Der Nutzungsablauf gliedert sich in folgende Schritte:

  • Erkennung eines Fehlschlags oder eines unzulässigen Zustands bei der asynchronen Verarbeitung in Verbindung mit ara::core::Promise oder ara::core::Future.
  • Erzeugung der ara::core::FutureException mittels des Konstruktors unter Angabe des spezifischen ara::core::ErrorCode [SWS_CORE_00412].
  • Übermittlung der Ausnahme an den konsumierenden Thread, wo sie im Rahmen eines try-catch-Blocks abgefangen und der enthaltene Fehler analysiert wird.

Fehlerszenarien

Da ara::core::FutureException selbst das Vehikel zur Fehlersignalisierung darstellt, beschränken sich Fehlerszenarien auf die Bedingungen ihrer eigenen Entstehung. Durch die Kennzeichnung des Konstruktors mit noexcept ist garantiert, dass bei der Objekterzeugung kein Ausführungsfehler in Form einer sekundären Ausnahme auftreten kann [SWS_CORE_00412]. Als Vorbedingung für die Konstruktion gilt die Übergabe eines gültigen Objekts vom Typ ara::core::ErrorCode als Parameter err [SWS_CORE_00412]. Tritt bei der Arbeit mit ara::core::Future oder ara::core::Promise ein Fehler auf, dient die Ausnahme dem Zweck, diesen Fehlercode unverändert an übergeordnete Aufrufe zu transportieren.

Dieser Leitfaden basiert auf AUTOSAR Adaptive Platform R25-11.

UML-Klassendiagramm

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

Konstruktoren und Destruktor

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

explicit FutureException (ErrorCode err) noexcept;

Dokumentation der Methoden

function 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#38add4ec
Content hash
38add4ec
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