类 ara::core::CoreException
[SWS_CORE_05211] Upstream: RS_AP_00130
class CoreException : public Exception {...};
| Header-Datei | #include "ara/core/core_error_domain.h" |
|---|
| Forwarding-Header | #include "ara/core/core_fwd.h" |
|---|
| Scope | namespace ara::core |
|---|
| Basisklasse(n) | Exception |
|---|
用户指南人工智能生成
用作报告 Core 错误的异常类型,并封装错误码以进行结构化异常处理。
AI 生成
未审核
模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 2b622ea04d25
来源
未决问题(2)
用作报告 Core 错误的异常类型,并封装错误码以进行结构化异常处理。
类 ara::core::CoreException 用作传递来自功能领域 ara::core 的错误的核心异常类型,并为此继承自基类 Exception。其实例化必须通过构造函数进行,并传入封装了错误原因的特定 ErrorCode [SWS_CORE_05212]。作为关键约束条件,实现保证了完全的线程安全性和异常安全性,并在创建时提供无条件的 noexcept 保证 [SWS_CORE_05212]。调用者捕获该异常以受控处理所包含的错误状态。
上下文
类 ara::core::CoreException 用作功能领域 ara::core 内发生的错误的核心异常类型。根据类声明,它公有继承自基类 Exception。CoreException 的主要任务是将由 ErrorCode 对象描述的已发生错误事件转换为 C++ 的异常处理模型。在平台上下文中,该类从而充当检测错误的底层基础设施组件与调用方应用或平台代码之间的桥梁。当 ara::core 中的某项操作失败且接口指定了异常时,CoreException 将被实例化并发出信号。此时,构造函数根据 [SWS_CORE_05212] 接收一个 ErrorCode 类型的具体对象,该对象封装了所发生错误的功能性原因和领域。嵌入到类层次结构中使得更高架构层既可以将错误专门作为 CoreException 捕获,也可以通过基类 Exception 进行通用处理。
上下文图:CoreException 与 ErrorCode 及基类 Exception 的关系。来源:[SWS_CORE_05212]
生命周期
CoreException 实例的生命周期始于错误检测上下文。其创建通过构造函数 explicit CoreException(ErrorCode err) noexcept 根据 [SWS_CORE_05212] 进行。关键字 explicit 阻止了从 ErrorCode 的隐式转换,从而强制进行显式的对象创建。构造的一个关键特征是其规范为 noexcept [SWS_CORE_05212]:实例化本身不会抛出进一步的异常,从而确保即使在关键系统状态下也能可靠生成异常。此外,异常安全性被评级为完全安全(exception safe),且该操作被视为线程安全(thread-safe)[SWS_CORE_05212]。创建后,异常对象通常使用 throw 进行传递。在栈展开期间,异常被传递,直到被匹配的异常处理程序绑定。生命周期随着退出捕获块而结束,随后异常对象的销毁以确定性方式完成。
使用路径
CoreException 的常规使用路径分为三个连续阶段:诊断、抛出和捕获。首先,模块 core 的某个组件识别出与预期行为的偏差,并实例化相应的 ErrorCode。随后,通过调用构造函数 CoreException(err) 创建异常 [SWS_CORE_05212]。紧接着将该对象抛入执行上下文中。在用户级别,调用在受保护块中执行。若发生异常情况,catch 块将捕获该实例——通常作为对 CoreException 的 const 引用或通过基类 Exception 多态捕获。在处理程序中可以分析、记录或解决该错误。由于头文件 #include "ara/core/core_error_domain.h" 是根据 [SWS_CORE_05212] 规定的,因此类声明始终可供应用程序模块使用。
错误场景
在错误场景领域,CoreException 本身充当信号载体,并在其自身的创建过程中不会抛出次生错误。由于构造函数被声明为 noexcept [SWS_CORE_05212],因此排除了构造失败的情景。该规范保证了严格的异常安全性和线程安全性 [SWS_CORE_05212],使得创建时的并发访问也是安全的。当抛出的 CoreException 未被任何外层作用域捕获时,在系统层面上就会产生关键的错误场景,这在标准 C++ 中可能会导致调用 std::terminate。 问题 Q-492683ca01bebc7d (未决)因此,开发者必须确保将对可能抛出异常的 ara::core 函数的调用嵌入到合适的异常处理块中。另一个潜在场景涉及跨组件边界的转发,其中必须正确解读所包含的 ErrorCode,以便启动恰当的错误恢复措施。
本指南由 AI 策展助手基于 AUTOSAR R25-11 生成。
UML 类图
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
此版本没有元素数据
构造函数和析构函数
Construct a new CoreException from an ErrorCode.
explicit CoreException (ErrorCode err) noexcept;
方法文档
explicit CoreException (ErrorCode err) noexcept;
Construct a new CoreException from an ErrorCode.
| Header-Datei | #include "ara/core/core_error_domain.h" |
|---|
| Scope | class ara::core::CoreException |
|---|
| Exception-Sicherheit | exception safe |
|---|
| Thread-Sicherheit | thread-safe |
|---|
Parameter (in)
| Parameter | Beschreibung |
|---|
| err | the ErrorCode |
Status: valid/unmigrated
Version: rel:R25-11#fcccf313
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_05212@rel:R25-11#fcccf313
Point-in-Time History:
Recorded Revisions (8):
- R25-11
rel:R25-11#89d8f3922026-09-30 - R19-11
rel:R19-11#7047abf42026-10-14 - R20-11
rel:R20-11#69aba1672026-10-14 - R21-11
rel:R21-11#69aba1672026-10-14 - R22-11
rel:R22-11#7a696c932026-10-14 - R23-11
rel:R23-11#cc26b8992026-10-14 - R24-11
rel:R24-11#fcccf3132026-10-14 - R25-11
rel:R25-11#fcccf3132026-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 · 德文原文