DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Sirve como tipo de excepción para errores en operaciones asíncronas con Future y Promise y encapsula un código de error.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 4af39887de1d Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Sirve como tipo de excepción para errores en operaciones asíncronas con Future y Promise y encapsula un código de error.

La clase ara::core::FutureException sirve como un tipo de excepción específico que se lanza en caso de errores en relación con ara::core::Future y ara::core::Promise [SWS_CORE_00412]. Encapsula un ara::core::ErrorCode y se crea a través de un constructor explícito [SWS_CORE_00412]. Para su uso seguro en entornos asíncronos y concurrentes, la instanciación está especificada como noexcept, segura para subprocesos y segura frente a excepciones [SWS_CORE_00412].

Contexto

La clase ara::core::FutureException actúa dentro del módulo core como tipo de excepción dedicado para primitivas de comunicación y sincronización asíncronas. Conforme a su finalidad, este tipo de excepción es desencadenado por ara::core::Future así como por ara::core::Promise para señalizar al invocador estados de error en el contexto de operaciones asíncronas. Estructuralmente, ara::core::FutureException deriva de la clase base Exception y encapsula un código de error específico del dominio.

En escenarios colaborativos, ara::core::FutureException constituye el puente entre el punto final asíncrono generador (como ara::core::Promise), el punto final consumidor (ara::core::Future) y el tratamiento de errores por parte de la aplicación. La interacción de estos tres participantes ilustra el marco estructural en el que se transfiere la excepción para el tratamiento de errores.

FutureExceptionKontext Promise ara::core::Promise Exception ara::core::FutureException Promise->Exception desencadena / establece Future ara::core::Future Future->Exception lanza en caso de error AppThread Anwendungs-Thread Future->AppThread benachrichtigt Exception->AppThread es capturado por

Diagrama de contexto: integración de ara::core::FutureException entre Promise, Future y el subproceso de la aplicación. Fuentes: [SWS_CORE_00412]

Ciclo de vida

La instanciación de ara::core::FutureException se realiza explícitamente mediante el constructor pasando un código de error del tipo ara::core::ErrorCode [SWS_CORE_00412]. Mediante la declaración con explicit se evita una conversión implícita de tipo a partir de un ara::core::ErrorCode. El constructor está designado como noexcept, lo que garantiza que la propia construcción no pueda desencadenar excepciones adicionales [SWS_CORE_00412].

En cuanto a la seguridad de ejecución, la clase está especificada como segura frente a excepciones (exception safe) [SWS_CORE_00412]. Para el funcionamiento concurrente, la especificación clasifica además explícitamente la construcción como segura para subprocesos (thread-safe) [SWS_CORE_00412]. Esto permite que las operaciones asíncronas instancien la excepción de manera segura a través de los límites entre subprocesos y la transmitan a los receptores en espera.

Ruta de uso

El flujo de uso típico abarca desde el surgimiento de un error durante una operación asíncrona hasta la captura de la excepción por parte del invocador consumidor. La provisión se realiza típicamente a través del encabezado ara/core/future_error_domain.h [SWS_CORE_00412].

Señalización de errores mediante ara::core::FutureExceptionErzeuger (Promise)Vermittler (Future)Receptor (hilo)Use Case: Detección de errores e instanciaciónSe produce un error asíncronoSe proporciona ErrorCodeFehlerzustand setzenFutureException(err)Use Case: Recuperación y tratamiento de excepcionesErgebnis anfordernwirft FutureExceptioncatch (FutureException&)ErrorCode auswerten

Diagrama de secuencia: flujo desde el origen del error, pasando por la instanciación de ara::core::FutureException, hasta la captura. Fuentes: [SWS_CORE_00412]

El flujo de uso se divide en los siguientes pasos:

  • Detección de un fallo o de un estado no permitido durante el procesamiento asíncrono en relación con ara::core::Promise o ara::core::Future.
  • Creación de ara::core::FutureException mediante el constructor indicando el ara::core::ErrorCode específico [SWS_CORE_00412].
  • Transmisión de la excepción al subproceso consumidor, donde se captura en el marco de un bloque try-catch y se analiza el error contenido.

Escenarios de error

Dado que ara::core::FutureException representa en sí misma el vehículo para la señalización de errores, los escenarios de fallo se limitan a las condiciones de su propia creación. Mediante la designación del constructor con noexcept, queda garantizado que durante la creación del objeto no pueda producirse ningún error de ejecución en forma de excepción secundaria [SWS_CORE_00412]. Como condición previa para la construcción se requiere pasar como parámetro un objeto válido del tipo ara::core::ErrorCode err [SWS_CORE_00412]. Si se produce un error al trabajar con ara::core::Future o ara::core::Promise, la excepción sirve para transportar dicho código de error sin alteraciones a las llamadas de nivel superior.

Esta guía se basa en AUTOSAR Adaptive Platform R25-11.

Diagrama de clases 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

Constructores y destructor

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

explicit FutureException (ErrorCode err) noexcept;

Documentación de los métodos

función 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#b72198f6
Content hash
b72198f6
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