DEENESPTFRRUARHIKOZHNL

类 ara::sm::SmErrorDomain

[SWS_SM_81241] Upstream: RS_AP_00119

class SmErrorDomain final :            public ara::core::ErrorDomain {...};

Defines the error domain for State Management.

Header-Datei#include "ara/sm/sm_error_domain.h"
Forwarding-Header#include "ara/sm/sm_fwd.h"
Scopenamespace ara::sm
Basisklasse(n)ara::core::ErrorDomain
Unique IDAs per ara::sm::SmErrorDomain in [SWS_CORE_90023]

用户指南人工智能生成

用于在 State Management 内部定义和解析错误代码及异常。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: bb9dfd646ad0 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用于在 State Management 内部定义和解析错误代码及异常。

类 ara::sm::SmErrorDomain 表示 State Management 的特定于领域的错误领域,并将功能错误代码映射到可读的文本消息以及 C++ 异常([SWS_SM_81241])。在运行时,它通过线程安全的方法支持领域的识别以及用于日志记录和诊断的单个错误值的转换。如果发生严重错误,还可以通过该接口引发类型化异常([SWS_SM_81250])。如果在工具链中禁用了 C++ 异常,则异常逻辑不可用,必须纯粹基于值来处理错误。

上下文

类 ara::sm::SmErrorDomain 为 Adaptive Platform 上的 State Management 功能集群定义了特定的错误领域([SWS_SM_81241]、SWS StateManagement §8.1.3 “Class: SmErrorDomain”)。作为通用错误领域架构的特化,它根据 [SWS_CORE_90023] 中的规范继承自 ara::core::ErrorDomain。其核心职责在于从语义上封装 State Management 的错误状态,提供标准化的错误标识符,并确保数值错误代码、错误文本与异常类型之间的映射。

主要交互方包括生成内部错误的 State Management 内部组件,以及通过 ara::core::ErrorCode 接收错误的上层应用与平台服务。通过公共类型别名 Errc,该类引用了特定于领域的枚举 SmErrc([SWS_SM_81245])。类型别名 Exception 还指向关联的异常基类 SmException([SWS_SM_81246]、SWS StateManagement §8.1.3.1.2 “Type Alias: Exception”)。

生命周期

ara::sm::SmErrorDomain 的实例通过无参默认构造函数创建([SWS_SM_81247]、SWS StateManagement §8.1.3.2.1.1 “Default Constructor”)。该构造函数被声明为 noexcept,并具有 exception safe 评级。在典型的系统环境中,SmErrorDomain 的实例大概率以长生命周期或静态对象的形式存在,因为在 AUTOSAR Adaptive 生态系统中全进程都需要错误领域来解释错误代码。 问题 Q-fbf8e3e45bf0181a (未决)

在并发性方面,该类的核心功能被指定用于并发操作:方法 Name()([SWS_SM_81248])和 Message()([SWS_SM_81249])被指定为 thread-safe 以及 exception safe。因此,多个执行线程可以并行查询错误信息,而无需外部同步。

使用路径

常规使用路径包括错误领域的识别、将错误代码解析为可读的诊断消息,以及可选地转换为 C++ 异常。首先,应用程序或平台组件可以通过 Name() 获取领域名称;该方法不可变地返回标识符 "Sm"([SWS_SM_81248])。

如果 State Management 中发生错误,其代码将通过 Message(errorCode) 传递([SWS_SM_81249]、SWS StateManagement §8.1.3.2.2.1 “Message”)。该函数返回指向关联字符串的指针(const char*),从而使日志和诊断系统获取有意义的消息。如果调用方子系统设计为基于异常的错误处理,则它会将错误对象传递给 ThrowAsException()([SWS_SM_81250]),从而实例化并抛出与该错误代码相对应的异常。

错误解析与抛出异常的使用路径应用SmErrorDomainSmExceptionSmErrorDomain()Instanz bereitgestelltMessage(errorCode)const char* FehlermeldungoptAusnahmebehandlung aktivThrowAsException(errorCode)wirft Ausnahme

时序图:查询错误信息及可选触发异常时的典型序列。来源:[SWS_SM_81247]、[SWS_SM_81248]、[SWS_SM_81249]、[SWS_SM_81250]。

错误场景

该领域管理的错误状态基于枚举类型 SmErrc,其别名为 Errc([SWS_SM_81245])。错误情况要么体现为基于 ara::core::ErrorCode 的返回值,要么体现为类型 Exception 的异常(SmException、[SWS_SM_81246])。

调用 ThrowAsException() 时,由于该方法设计上会主动引发与错误代码相关联的异常,因此被视为 not exception safe([SWS_SM_81250])。该方法可用性的一个关键前提条件涉及工具链配置:根据 [SWS_CORE_10304],如果在编译器工具链中禁用了 C++ 异常,则 ThrowAsException() 不参与重载解析([SWS_SM_81250])。因此,在没有异常支持的系统配置中,错误处理必须严格通过返回码进行。

本指南由 AI 基于 AUTOSAR AP R25-11 规范生成。

成员图

构造函数和析构函数

1

类型别名

2

类图

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__sm__SmErrorDomain386 SmErrorDomain + SmErrorDomain() + Message() + Name() + ThrowAsException() nara__core__ErrorDomain335 ErrorDomain nara__sm__SmErrorDomain386->nara__core__ErrorDomain335

详细视图

请在大纲中选择一个条目。

构造函数和析构函数

Creates a SmErrorDomain instance.

SmErrorDomain () noexcept;

方法

Message 函数

Returns the message associated with the error code.

const char * Message (CodeType errorCode) const noexcept override;
Name 函数

Returns the name of the error domain.

const char * Name () const noexcept override;

Throws the exception associated with the error code. As per [SWS_CORE_10304], this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain.

void ThrowAsException (const ara::core::ErrorCode &errorCode) const override;

类型别名

Errc 类型别名

Alias for the error code value enumeration.

using Errc = SmErrc;
Exception 类型别名

Alias for the exception base class.

方法文档

函数 Message [SWS_SM_81249] Upstream: RS_AP_00119, RS_AP_00159

const char * Message (CodeType errorCode) const noexcept override;

Returns the message associated with the error code.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 5c30b05c668e 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

成员函数 ara::sm::SmErrorDomain::Message 用于同步确定分配给 State Management 错误域特定错误码的文本错误消息 [SWS_SM_81249]。它在头文件 ara/sm/sm_error_domain.h 中、类 ara::sm::SmErrorDomain 的作用域内声明,并在规范中具有状态 DRAFT AUTOSAR_AP_SWS_StateManagement §8.1.3.2.2.1 “Message”。

该接口具有以下参数和返回值 [SWS_SM_81249]:

  • Parameter:类型为 CodeType 的 errorCode 接收数值错误编号,以请求其关联的文本消息。
  • 返回值:指向与传入错误代码关联的错误消息的 const char * 类型指针。

针对执行,在并发性和异常处理方面适用严格的保证:该函数被指定为 thread-safe 和 exception safe,并以标识符 noexcept 声明 [SWS_SM_81249]。因此,可以从任意线程安全调用它,而无需同步锁或 try-catch 块。

在 AUTOSAR Adaptive 的错误管理框架中,该方法重写了基础错误域的虚函数。Interpretation:由于返回值被定义为不带分配接口的 const char *,该指针通常预计指向在整个进程运行期间保持有效的静态字符串字面量。 问题 Q-03fc170f18f910b4 (未决)

该提示由 AI 基于 AUTOSAR Adaptive R25-11 规范生成。

实现者指南即将推出(复杂度 I1)

Header-Datei#include "ara/sm/sm_error_domain.h"
Scopeclass ara::sm::SmErrorDomain
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
errorCodeThe error code number.

Rückgabewert

TypBeschreibung
const char *The message associated with the error code.

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

Record
AUTOSAR/AP/record/SWS_SM_81249
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_81249@rel:R25-11#5f8256b0
Content hash
5f8256b0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_81249
Status: valid/unmigrated Version: rel:R25-11#b28e7125 Versionshistorie & Revisions (1 transition)
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_SM_81249@rel:R25-11#b28e7125
Point-in-Time History:
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

函数 Name [SWS_SM_81248] Upstream: RS_AP_00119, RS_AP_00159

const char * Name () const noexcept override;

Returns the name of the error domain.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: afc14722564a 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

错误域类 ara::sm::SmErrorDomain 的 API 方法 Name 用于检索 State Management 错误域的标准化名称([SWS_SM_81248])。根据规范,该同步调用始终返回常量字符串值 "Sm"(SWS StateManagement §8.1.3.2.2.2 “Name”)。使用时必须包含对应的头文件 ara/sm/sm_error_domain.h。

该成员函数不接收任何传入参数,并提供完全异常安全性:它被指定为 noexcept 和 exception safe([SWS_SM_81248]),从而保证不抛出异常返回且不生成错误码。Interpretation:由于指定了固定值为 "Sm" 的返回类型 const char *,该函数预计指向一个生命周期无限的静态字符串字面量。 问题 Q-855d1837679010a7 (未决)

关于调用上下文和并发性,该方法被归类为 thread-safe([SWS_SM_81248])。因此,无需手动同步即可跨多个线程并行执行它。对于集成人员和开发人员而言,同样相关的是,在 Release R25-11 中该需求被标注了状态 DRAFT(SWS StateManagement §8.1.3.2.2.2 “Name”)。

本使用说明由人工智能基于 AUTOSAR Adaptive Release R25-11 规范生成。

实现者指南即将推出(复杂度 I1)

Header-Datei#include "ara/sm/sm_error_domain.h"
Scopeclass ara::sm::SmErrorDomain
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
const char *"Sm".

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

Record
AUTOSAR/AP/record/SWS_SM_81248
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_81248@rel:R25-11#5eb75e63
Content hash
5eb75e63
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_81248
Status: valid/unmigrated Version: rel:R25-11#58b77bc8 Versionshistorie & Revisions (1 transition)
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_SM_81248@rel:R25-11#58b77bc8
Point-in-Time History:
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

函数 SmErrorDomain [SWS_SM_81247] Upstream: RS_AP_00119, RS_AP_00159

SmErrorDomain () noexcept;

Creates a SmErrorDomain instance.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: bf3f9f38c25e 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

默认构造函数 SmErrorDomain() 同步创建错误域 ara::sm::SmErrorDomain 的一个实例([SWS_SM_81247])。声明位于头文件 ara/sm/sm_error_domain.h 中。该调用不需要传入参数,直接返回已初始化的域对象(SWS StateManagement §8.1.3.2.1.1 “Default Constructor”)。

错误处理

该函数带有标识符 noexcept,被归类为异常安全(exception safe)([SWS_SM_81247])。创建过程中不会出现错误码,也不会抛出异常。

并发性与限制

该创建被指定为 thread-safe([SWS_SM_81247])。因此,可以在多线程环境中并发创建实例,而无需额外的同步机制。不存在特殊的顺序条件。

相互作用

创建的对象属于类 ara::sm::SmErrorDomain([SWS_SM_81241]),该类根据 [SWS_CORE_90023] 进行规范。在 State Management 模块内部,该错误域与以下元素交互:

本文由 AI 基于 AUTOSAR 规范 R25-11 生成。

实现者指南即将推出(复杂度 I2)

Header-Datei#include "ara/sm/sm_error_domain.h"
Scopeclass ara::sm::SmErrorDomain
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

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

Record
AUTOSAR/AP/record/SWS_SM_81247
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_81247@rel:R25-11#a330d0ca
Content hash
a330d0ca
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_81247
Status: valid/unmigrated Version: rel:R25-11#418308da Versionshistorie & Revisions (1 transition)
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_SM_81247@rel:R25-11#418308da
Point-in-Time History:
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

函数 ThrowAsException [SWS_SM_81250] Upstream: RS_AP_00119

void ThrowAsException (const ara::core::ErrorCode &errorCode) const override;

Throws the exception associated with the error code. As per [SWS_CORE_10304], this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 6b483495310f 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

函数 ara::sm::SmErrorDomain::ThrowAsException 用于将 State Management 错误域中的错误码直接作为 C++ 异常抛出 [SWS_SM_81250]。它在头文件 ara/sm/sm_error_domain.h 中声明,并重写了错误域的相应基础函数(SWS StateManagement §8.1.3.2.2.3 “ThrowAsException”)。

调用与参数

该方法同步调用,并接收对 errorCode(类型为 ara::core::ErrorCode)的常量引用作为唯一传入参数 [SWS_SM_81250]。它不提供返回值(void),因为该方法会实例化并抛出与传入错误码对应的异常,从而在调用处中断常规控制流 [SWS_SM_81250]。

并发性与边界条件

  • Thread-Sicherheit:该函数被明确指定为线程安全(thread-safe),因此可以毫无问题地跨并发线程调用 [SWS_SM_81250]。
  • Ausnahmesicherheit:该行为被记录为 not exception safe [SWS_SM_81250];Interpretation:这预计归因于抛出异常会脱离常规控制流,并且根据定义该方法会失败或传播异常。 问题 Q-5afbb1be303b657b (未决)
  • 编译器限制:根据 [SWS_CORE_10304],如果编译器工具链中禁用了 C++ 异常,则该函数不参与重载解析(overload resolution)[SWS_SM_81250]。

该使用提示由 AI 创建,并基于 AUTOSAR Adaptive R25-11 规范。

实现者指南即将推出(复杂度 I1)

Header-Datei#include "ara/sm/sm_error_domain.h"
Scopeclass ara::sm::SmErrorDomain
Exception-Sicherheitnot exception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
errorCodeThe error to throw.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_SM_81250
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_81250@rel:R25-11#3642125c
Content hash
3642125c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_81250
Status: valid/unmigrated Version: rel:R25-11#7e18a0bd Versionshistorie & Revisions (1 transition)
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_SM_81250@rel:R25-11#7e18a0bd
Point-in-Time History:
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

类型别名文档

类型别名 Errc [SWS_SM_81245] Upstream: RS_AP_00119

using Errc = SmErrc;

Alias for the error code value enumeration.

Header-Datei#include "ara/sm/sm_error_domain.h"
Scopeclass ara::sm::SmErrorDomain
SymbolErrc

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

Record
AUTOSAR/AP/record/SWS_SM_81245
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_81245@rel:R25-11#842ffb8c
Content hash
842ffb8c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_81245
Status: valid/unmigrated Version: rel:R25-11#8dd72ff7 Versionshistorie & Revisions (1 transition)
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_SM_81245@rel:R25-11#8dd72ff7
Point-in-Time History:
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

类型别名 Exception [SWS_SM_81246] Upstream: RS_AP_00119

using Exception = SmException;

Alias for the exception base class.

Header-Datei#include "ara/sm/sm_error_domain.h"
Scopeclass ara::sm::SmErrorDomain
SymbolException

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

Record
AUTOSAR/AP/record/SWS_SM_81246
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_81246@rel:R25-11#2edeea6a
Content hash
2edeea6a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_81246
Status: valid/unmigrated Version: rel:R25-11#7bc7b339 Versionshistorie & Revisions (1 transition)
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_SM_81246@rel:R25-11#7bc7b339
Point-in-Time History:
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