DEENESPTFRRUARHIKOZHNL

classe 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

Guide utilisateurGÉNÉRÉ PAR IA

Sert de type d'exception pour les erreurs lors d'opérations asynchrones avec Future et Promise et encapsule un code d'erreur.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4af39887de1d Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert de type d'exception pour les erreurs lors d'opérations asynchrones avec Future et Promise et encapsule un code d'erreur.

La classe ara::core::FutureException sert de type d'exception spécifique levé lors d'erreurs en lien avec ara::core::Future et ara::core::Promise [SWS_CORE_00412]. Elle encapsule un ara::core::ErrorCode et est créée via un constructeur explicite [SWS_CORE_00412]. Pour une utilisation sécurisée dans des environnements asynchrones et concurrents, l'instanciation est spécifiée comme noexcept, thread-safe et sûre vis-à-vis des exceptions [SWS_CORE_00412].

Contexte

La classe ara::core::FutureException fait office, au sein du module core, de type d'exception dédié pour les primitives de synchronisation et de communication asynchrones. Conformément à sa finalité, ce type d'exception est déclenché par ara::core::Future ainsi que par ara::core::Promise pour signaler à l'appelant des états d'erreur dans le contexte d'opérations asynchrones. Sur le plan structurel, ara::core::FutureException dérive de la classe de base Exception et encapsule un code d'erreur propre au domaine.

Dans les scénarios de collaboration, ara::core::FutureException constitue le pont entre le point de terminaison asynchrone émetteur (comme ara::core::Promise), le point de terminaison consommateur (ara::core::Future) et le traitement des erreurs côté application. L'interaction de ces trois intervenants met en évidence le cadre structurel dans lequel l'exception est transmise pour le traitement des erreurs.

FutureExceptionKontext Promise ara::core::Promise Exception ara::core::FutureException Promise->Exception déclenche / définit Future ara::core::Future Future->Exception lève en cas d'erreur AppThread Anwendungs-Thread Future->AppThread benachrichtigt Exception->AppThread est intercepté par

Diagramme de contexte : intégration d'ara::core::FutureException entre Promise, Future et le thread applicatif. Sources : [SWS_CORE_00412]

Cycle de vie

L'instanciation de ara::core::FutureException s'effectue explicitement via le constructeur en lui passant un code d'erreur de type ara::core::ErrorCode [SWS_CORE_00412]. La déclaration avec explicit interdit toute conversion de type implicite à partir d'un ara::core::ErrorCode. Le constructeur est désigné comme noexcept, ce qui garantit que la construction elle-même ne peut déclencher aucune exception supplémentaire [SWS_CORE_00412].

En ce qui concerne la sûreté d'exécution, la classe est spécifiée comme sûre vis-à-vis des exceptions (exception safe) [SWS_CORE_00412]. Pour le fonctionnement concurrent, la spécification qualifie en outre explicitement la construction de thread-safe [SWS_CORE_00412]. Cela permet aux opérations asynchrones d'instancier l'exception en toute sécurité au-delà des frontières des threads et de la transmettre aux récepteurs en attente.

Parcours d'utilisation

Le déroulement d'utilisation typique comprend la survenue d'une erreur lors d'une opération asynchrone jusqu'à l'interception de l'exception par l'appelant consommateur. La mise à disposition s'effectue typiquement via l'en-tête ara/core/future_error_domain.h [SWS_CORE_00412].

Signalement d'erreur via ara::core::FutureExceptionErzeuger (Promise)Vermittler (Future)Récepteur (thread)Use Case: Détection d'erreur et instanciationUne erreur asynchrone survientErrorCode est fourniFehlerzustand setzenFutureException(err)Use Case: Récupération et traitement des exceptionsErgebnis anfordernwirft FutureExceptioncatch (FutureException&)ErrorCode auswerten

Diagramme de séquence : déroulement depuis la survenue de l'erreur jusqu'à l'interception, en passant par l'instanciation d'ara::core::FutureException. Sources : [SWS_CORE_00412]

Le déroulement d'utilisation s'articule selon les étapes suivantes :

  • Détection d'un échec ou d'un état non autorisé lors du traitement asynchrone en lien avec ara::core::Promise ou ara::core::Future.
  • Création de ara::core::FutureException au moyen du constructeur en indiquant le ara::core::ErrorCode spécifique [SWS_CORE_00412].
  • Transmission de l'exception au thread consommateur, où elle est interceptée dans le cadre d'un bloc try-catch et l'erreur contenue est analysée.

Scénarios d'erreur

Comme ara::core::FutureException représente elle-même le vecteur de signalement d'erreur, les scénarios d'erreur se limitent aux conditions de sa propre émergence. La désignation du constructeur par noexcept garantit qu'aucune erreur d'exécution sous la forme d'une exception secondaire ne peut survenir lors de la création de l'objet [SWS_CORE_00412]. La transmission d'un objet valide de type ara::core::ErrorCode en tant que paramètre constitue une précondition pour la construction err [SWS_CORE_00412]. Si une erreur survient lors du travail avec ara::core::Future ou ara::core::Promise, l'exception a pour but de transporter ce code d'erreur de façon inchangée vers les appels de niveau supérieur.

Ce guide se base sur AUTOSAR Adaptive Platform R25-11.

Diagramme de classes UML

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

Constructeurs et destructeur

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

explicit FutureException (ErrorCode err) noexcept;

Documentation des méthodes

fonction 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#e3a68d80
Content hash
e3a68d80
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