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

Guia do utilizadorGERADO POR IA

Serve como tipo de exceção para erros em operações assíncronas com Future e Promise e encapsula um código de erro.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 4af39887de1d Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve como tipo de exceção para erros em operações assíncronas com Future e Promise e encapsula um código de erro.

A classe ara::core::FutureException serve como um tipo de exceção específico lançado em caso de erros associados a ara::core::Future e ara::core::Promise [SWS_CORE_00412]. Ela encapsula um ara::core::ErrorCode e é criada por meio de um construtor explícito [SWS_CORE_00412]. Para a utilização segura em ambientes assíncronos e concorrentes, a instanciação é especificada como noexcept, thread-safe e segura contra exceções [SWS_CORE_00412].

Contexto

A classe ara::core::FutureException atua no módulo core como um tipo de exceção dedicado para primitivas de comunicação e sincronização assíncronas. De acordo com a sua finalidade, este tipo de exceção é disparado por ara::core::Future, bem como por ara::core::Promise, a fim de sinalizar ao chamador estados de erro no contexto de operações assíncronas. Estruturalmente, ara::core::FutureException deriva da classe base Exception e encapsula um código de erro específico de domínio.

Em cenários colaborativos, ara::core::FutureException estabelece a ponte entre o endpoint assíncrono gerador (como ara::core::Promise), o endpoint consumidor (ara::core::Future) e o tratamento de erros da aplicação. A interação entre essas três partes envolvidas evidencia a estrutura em que a exceção é passada para o tratamento de erros.

FutureExceptionKontext Promise ara::core::Promise Exception ara::core::FutureException Promise->Exception dispara / define Future ara::core::Future Future->Exception lança em caso de erro AppThread Anwendungs-Thread Future->AppThread benachrichtigt Exception->AppThread é capturado por

Diagrama de contexto: Incorporação de ara::core::FutureException entre Promise, Future e a thread da aplicação. Fontes: [SWS_CORE_00412]

Ciclo de vida

A instanciação de ara::core::FutureException ocorre explicitamente por meio do construtor mediante a passagem de um código de erro do tipo ara::core::ErrorCode [SWS_CORE_00412]. Através da declaração com explicit, impede-se uma conversão implícita de tipo a partir de um ara::core::ErrorCode. O construtor é designado como noexcept, o que garante que a própria construção não possa disparar exceções adicionais [SWS_CORE_00412].

Em termos de segurança de execução, a classe é especificada como segura contra exceções (exception safe) [SWS_CORE_00412]. Para a operação concorrente, a especificação também designa explicitamente a construção como segura para threads (thread-safe) [SWS_CORE_00412]. Isso permite que operações assíncronas instanciem a exceção com segurança através de fronteiras de threads e a repassem aos destinatários em espera.

Caminho de utilização

O fluxo de utilização típico engloba desde a ocorrência de um erro durante uma operação assíncrona até a captura da exceção pelo chamador consumidor. A disponibilização ocorre tipicamente por meio do cabeçalho ara/core/future_error_domain.h [SWS_CORE_00412].

Sinalização de erro via ara::core::FutureExceptionErzeuger (Promise)Vermittler (Future)Receptor (thread)Use Case: Detecção de erro e instanciaçãoOcorre erro assíncronoErrorCode é disponibilizadoFehlerzustand setzenFutureException(err)Use Case: Obtenção e tratamento de exceçãoErgebnis anfordernwirft FutureExceptioncatch (FutureException&)ErrorCode auswerten

Diagrama de sequência: Fluxo desde a ocorrência do erro e a instanciação de ara::core::FutureException até a captura. Fontes: [SWS_CORE_00412]

O fluxo de utilização subdivide-se nas seguintes etapas:

  • Detecção de uma falha ou de um estado inválido no processamento assíncrono em conjunto com ara::core::Promise ou ara::core::Future.
  • Criação de ara::core::FutureException por meio do construtor, com indicação do ara::core::ErrorCode específico [SWS_CORE_00412].
  • Transmissão da exceção para a thread consumidora, onde ela é capturada no âmbito de um bloco try-catch e o erro contido é analisado.

Cenários de erro

Como a própria ara::core::FutureException representa o veículo para a sinalização de erros, os cenários de falha restringem-se às condições da sua própria criação. Devido à qualificação do construtor com noexcept, garante-se que nenhum erro de execução sob a forma de exceção secundária possa ocorrer durante a criação do objeto [SWS_CORE_00412]. Como pré-condição para a construção, aplica-se a passagem de um objeto válido do tipo ara::core::ErrorCode como parâmetro err [SWS_CORE_00412]. Caso ocorra um erro durante o trabalho com ara::core::Future ou ara::core::Promise, a exceção serve ao propósito de transportar esse código de erro de forma inalterada para chamadas de nível superior.

Este guia baseia-se na AUTOSAR Adaptive Platform R25-11.

Diagrama 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

Construtores e destrutor

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

explicit FutureException (ErrorCode err) noexcept;

Documentação dos métodos

função 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#b0cb1c17
Content hash
b0cb1c17
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