DEENESPTFRRUARHIKOZHNL

класс 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

Руководство пользователяСОЗДАНО ИИ

Служит типом исключения для ошибок при асинхронных операциях с Future и Promise и инкапсулирует код ошибки.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 4af39887de1d Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Служит типом исключения для ошибок при асинхронных операциях с Future и Promise и инкапсулирует код ошибки.

Класс ara::core::FutureException служит специфическим типом исключения, который генерируется при ошибках, связанных с ara::core::Future и ara::core::Promise [SWS_CORE_00412]. Он инкапсулирует ara::core::ErrorCode и создается через явный конструктор [SWS_CORE_00412]. Для безопасного применения в асинхронных и параллельных средах создание экземпляра специфицировано как noexcept, потокобезопасное и исключение-безопасное [SWS_CORE_00412].

Контекст

Класс ara::core::FutureException функционирует в рамках модуля core как специализированный тип исключения для примитивов асинхронной коммуникации и синхронизации. В соответствии со своим назначением этот тип исключения инициируется ara::core::Future, а также ara::core::Promise, чтобы сигнализировать вызывающей стороне о состояниях ошибок в контексте асинхронных операций. Структурно ara::core::FutureException наследует от базового класса Exception и инкапсулирует доменно-специфичный код ошибки.

В сценариях взаимодействия ara::core::FutureException формирует мост между создающей асинхронной конечной точкой (такой как ara::core::Promise), потребляющей конечной точкой (ara::core::Future) и обработкой ошибок на стороне приложения. Взаимодействие этих трех участников наглядно демонстрирует структурный каркас, в рамках которого исключение передается для обработки ошибок.

FutureExceptionKontext Promise ara::core::Promise Exception ara::core::FutureException Promise->Exception инициирует / устанавливает Future ara::core::Future Future->Exception выбрасывает при ошибке AppThread Anwendungs-Thread Future->AppThread benachrichtigt Exception->AppThread перехватывается

Контекстная диаграмма: встраивание ara::core::FutureException между Promise, Future и потоком приложения. Источники: [SWS_CORE_00412]

Жизненный цикл

Создание экземпляра ara::core::FutureException выполняется явно через конструктор с передачей кода ошибки типа ara::core::ErrorCode [SWS_CORE_00412]. Благодаря объявлению с explicit предотвращается неявное преобразование типов из ara::core::ErrorCode. Конструктор обозначен как noexcept, благодаря чему гарантируется, что само конструирование не может вызвать дальнейших исключений [SWS_CORE_00412].

Что касается безопасности выполнения, класс специфицирован как безопасный относительно исключений (exception safe) [SWS_CORE_00412]. Для параллельной работы спецификация также явно определяет конструирование как потокобезопасное (thread-safe) [SWS_CORE_00412]. Это позволяет асинхронным операциям безопасно создавать экземпляр исключения через границы потоков и передавать его ожидающим получателям.

Путь использования

Типичный процесс применения охватывает этапы от возникновения ошибки во время асинхронной операции до перехвата исключения потребляющей вызывающей стороной. Предоставление обычно осуществляется через заголовочный файл ara/core/future_error_domain.h [SWS_CORE_00412].

Сигнализация ошибок через ara::core::FutureExceptionErzeuger (Promise)Vermittler (Future)Получатель (поток)Use Case: Обнаружение ошибок и инстанцированиеВозникает асинхронная ошибкаПредоставляется ErrorCodeFehlerzustand setzenFutureException(err)Use Case: Получение и обработка исключенийErgebnis anfordernwirft FutureExceptioncatch (FutureException&)ErrorCode auswerten

Диаграмма последовательности: процесс от возникновения ошибки через создание экземпляра ara::core::FutureException до перехвата. Источники: [SWS_CORE_00412]

Процесс использования делится на следующие шаги:

  • Обнаружение сбоя или недопустимого состояния при асинхронной обработке совместно с ara::core::Promise или ara::core::Future.
  • Создание ara::core::FutureException с помощью конструктора с указанием специфического ara::core::ErrorCode [SWS_CORE_00412].
  • Передача исключения потребляющему потоку, где оно перехватывается в рамках блока try-catch и содержащаяся ошибка анализируется.

Сценарии ошибок

Поскольку сам ara::core::FutureException представляет собой средство сигнализации об ошибках, сценарии сбоев ограничиваются условиями его собственного возникновения. Благодаря обозначению конструктора спецификатором noexcept гарантируется, что при создании объекта не может возникнуть ошибка выполнения в виде вторичного исключения [SWS_CORE_00412]. В качестве предусловия для конструирования выступает передача допустимого объекта типа ara::core::ErrorCode в качестве параметра err [SWS_CORE_00412]. Если при работе с ara::core::Future или ara::core::Promise возникает ошибка, исключение служит цели передачи этого кода ошибки вышестоящим вызовам без изменений.

Это руководство основано на AUTOSAR Adaptive Platform R25-11.

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

Конструкторы и деструктор

FutureException функция

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

explicit FutureException (ErrorCode err) noexcept;

Документация методов

функция 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#95c4e6f1
Content hash
95c4e6f1
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