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.
СОЗДАНО ИИ не проверено Модель: 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 определяет специфический домен ошибок для функционального кластера State Management на Adaptive Platform ([SWS_SM_81241], SWS StateManagement §8.1.3 «Class: SmErrorDomain»). Являясь специализацией общей архитектуры доменов ошибок, он наследуется от ara::core::ErrorDomain согласно требованиям из [SWS_CORE_90023]. Его основная ответственность заключается в том, чтобы семантически инкапсулировать состояния ошибок 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], ThrowAsException() не участвует в разрешении перегрузки, если C++-исключения отключены в тулчейне компилятора ([SWS_SM_81250]). Следовательно, в системных конфигурациях без поддержки исключений обработка ошибок должна производиться строго через коды возврата.

Данное руководство было сгенерировано ИИ на основе спецификации 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

Подробный вид

Выберите элемент в оглавлении.

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

SmErrorDomain функция

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;
ThrowAsException функция

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.

СОЗДАНО ИИ не проверено Модель: 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]:

  • Параметр: errorCode типа CodeType принимает числовой номер ошибки, для которого запрашивается соответствующее текстовое сообщение.
  • Возвращаемое значение: Указатель типа const char * на сообщение об ошибке, сопоставленное переданному коду ошибки.

Для выполнения действуют строгие гарантии относительно параллелизма и обработки исключений: функция специфицирована как thread-safe и exception safe, а также объявлена с идентификатором noexcept [SWS_SM_81249]. Таким образом, ее можно безопасно вызывать из произвольных потоков без синхронизирующих блокировок или блоков try-catch.

В рамках управления ошибками AUTOSAR Adaptive метод переопределяет виртуальную функцию базового домена ошибок. Интерпретация: поскольку возвращаемое значение определено как const char * без интерфейса выделения памяти, указатель, вероятно, обычно ссылается на статические строковые литералы, остающиеся действительными на протяжении всего времени выполнения процесса. Вопрос Q-03fc170f18f910b4 (открытый)

Это указание было сгенерировано ИИ на основе спецификации 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#be47ef6e
Content hash
be47ef6e
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.

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

API-метод Name класса домена ошибок ara::sm::SmErrorDomain служит для запроса стандартизированного имени домена ошибок 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]), благодаря чему гарантированно возвращает управление без генерации исключений и не создает кодов ошибок. Интерпретация: поскольку в качестве типа возвращаемого значения задан const char * с фиксированным значением "Sm", функция, вероятно, ссылается на статический строковый литерал с неограниченным временем жизни. Вопрос Q-855d1837679010a7 (открытый)

Что касается контекста вызова и параллелизма, метод классифицирован как thread-safe ([SWS_SM_81248]). Таким образом, его можно выполнять параллельно из нескольких потоков без ручной синхронизации. Для интеграторов и разработчиков также актуально то, что требование в релизе R25-11 имеет статус DRAFT (SWS StateManagement §8.1.3.2.2.2 «Name»).

Данное указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR Adaptive релиза 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#1694d383
Content hash
1694d383
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.

СОЗДАНО ИИ не проверено Модель: 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 домен ошибок взаимодействует со следующими элементами:

  • Errc ([SWS_SM_81245]) и Exception ([SWS_SM_81246]) в качестве синонимов типов для кодов ошибок (SmErrc) и обработки исключений (SmException).
  • Name() ([SWS_SM_81248]) возвращает имя домена "Sm".
  • Message() ([SWS_SM_81249]) преобразует коды ошибок в текстовые описания.
  • ThrowAsException() ([SWS_SM_81250]) выбрасывает код ошибки в виде исключения, если включены исключения C++ ([SWS_CORE_10304]).
  • GetSmDomain() ([SWS_SM_81251]) в качестве альтернативы предоставляет глобальный экземпляр домена ошибок.

Этот текст был сгенерирован ИИ на основе спецификации 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#549bc5f1
Content hash
549bc5f1
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.

СОЗДАНО ИИ не проверено Модель: 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-safe) и поэтому может без проблем вызываться из параллельных потоков [SWS_SM_81250].
  • Безопасность исключений: Поведение задокументировано как not exception safe [SWS_SM_81250]; интерпретация: это, вероятно, обусловлено тем обстоятельством, что выброс исключения выходит из штатного потока управления, и метод по определению завершается сбоем или распространяет исключение. Вопрос Q-5afbb1be303b657b (открытый)
  • Ограничение компилятора: В соответствии с [SWS_CORE_10304] функция не участвует в разрешении перегрузки (overload resolution), если C++-исключения отключены в тулчейне компилятора [SWS_SM_81250].

Этот указание по использованию было создано ИИ и основано на спецификациях к 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#224298c5
Content hash
224298c5
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#d4365ce9
Content hash
d4365ce9
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#c36c64d0
Content hash
c36c64d0
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