类 ara::core::FutureException
[SWS_CORE_00411] Upstream: RS_AP_00130
class FutureException : public Exception {...};
| Header-Datei | #include "ara/core/future_error_domain.h" |
|---|
| Forwarding-Header | #include "ara/core/core_fwd.h" |
|---|
| Scope | namespace ara::core |
|---|
| Basisklasse(n) | Exception |
|---|
用户指南人工智能生成
用作 Future 和 Promise 异步操作中错误的异常类型,并封装错误码。
AI 生成
未审核
模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 4af39887de1d
来源
未决问题(1)
用作 Future 和 Promise 异步操作中错误的异常类型,并封装错误码。
上下文
类 ara::core::FutureException 在模块 core 内充当异步通信和同步原语的专用异常类型。根据其设计目的,该异常类型由 ara::core::Future 以及 ara::core::Promise 触发,以便向调用者指示异步操作上下文中的错误状态。在结构上,ara::core::FutureException 继承自基类 Exception 并封装了一个领域特定的错误码。
在协作场景中,ara::core::FutureException 构成了生成异步端点(如 ara::core::Promise)、消费端点(ara::core::Future)与应用端错误处理之间的桥梁。这三方的相互作用阐明了传递异常以进行错误处理的结构框架。
上下文图: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::FutureException 实例化直至捕获的流程。来源:[SWS_CORE_00412]
使用流程分为以下步骤:
- 检测与
ara::core::Promise 或 ara::core::Future 相关的异步处理中的失败或非法状态。
- 通过构造函数指定具体的
ara::core::ErrorCode 来创建 ara::core::FutureException [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.
此版本没有元素数据
构造函数和析构函数
Construct a new ara::core::FutureException from an ara::core::ErrorCode
explicit FutureException (ErrorCode err) noexcept;
方法文档
explicit FutureException (ErrorCode err) noexcept;
| Header-Datei | #include "ara/core/future_error_domain.h" |
|---|
| Scope | class ara::core::FutureException |
|---|
| Exception-Sicherheit | exception safe |
|---|
| Thread-Sicherheit | thread-safe |
|---|
Parameter (in)
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-11
rel:R25-11#38add4ec2026-09-30 - R19-11
rel:R19-11#85d2e6d42026-10-14 - R20-11
rel:R20-11#0ed7c8232026-10-14 - R21-11
rel:R21-11#0ed7c8232026-10-14 - R22-11
rel:R22-11#f9ed1ff42026-10-14 - R23-11
rel:R23-11#3515d8022026-10-14 - R24-11
rel:R24-11#7b05c81d2026-10-14 - R25-11
rel:R25-11#8d00af342026-10-14 active
Historical Snapshot:
🚫
Requirement entfallen: Dieses Element ist im gewählten Release nicht mehr enthalten.
Requirement Text as-of this release:
Reachable Artifacts & Dependents:
| Date | Actor | Transition | Reason / Rationale | Campaign |
| 2026-08-13 | tool | none → valid/unmigrated | mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record | 2026-08-13-status-backfill |
gemini-3.8-flash-low· 2026-10-13 · 德文原文