DEENESPTFRRUARHIKOZHNL

类 ara::core::CoreException

[SWS_CORE_05211] Upstream: RS_AP_00130

class CoreException :            public Exception {...};

Exception type thrown for ara::core errors.

Header-Datei#include "ara/core/core_error_domain.h"
Forwarding-Header#include "ara/core/core_fwd.h"
Scopenamespace ara::core
Basisklasse(n)Exception

用户指南人工智能生成

用作报告 Core 错误的异常类型,并封装错误码以进行结构化异常处理。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 2b622ea04d25 来源 未决问题(2)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用作报告 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 进行通用处理。

ErrorCode ErrorCode CoreException CoreException ErrorCode->CoreException initialisiert Exception Exception CoreException->Exception erbt von

上下文图: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.

G nara__core__CoreException713 CoreException + CoreException() nara__core__Exception792 Exception nara__core__CoreException713->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

构造函数和析构函数

Construct a new CoreException from an ErrorCode.

explicit CoreException (ErrorCode err) noexcept;

方法文档

函数 CoreException [SWS_CORE_05212] Upstream: RS_AP_00130

explicit CoreException (ErrorCode err) noexcept;

Construct a new CoreException from an ErrorCode.

Header-Datei#include "ara/core/core_error_domain.h"
Scopeclass ara::core::CoreException
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
errthe ErrorCode

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_05212
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_05212@rel:R25-11#c60988c7
Content hash
c60988c7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_05212
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-11rel:R25-11#89d8f3922026-09-30
  • R19-11rel:R19-11#7047abf42026-10-14
  • R20-11rel:R20-11#69aba1672026-10-14
  • R21-11rel:R21-11#69aba1672026-10-14
  • R22-11rel:R22-11#7a696c932026-10-14
  • R23-11rel:R23-11#cc26b8992026-10-14
  • R24-11rel:R24-11#fcccf3132026-10-14
  • R25-11rel:R25-11#fcccf3132026-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