DEENESPTFRRUARHIKOZHNL

clase 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]

Guía del usuarioGENERADO POR IA

Sirve para la definición y resolución de códigos de error y excepciones dentro de State Management.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: bb9dfd646ad0 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Sirve para la definición y resolución de códigos de error y excepciones dentro de State Management.

La clase ara::sm::SmErrorDomain representa el dominio de errores específico de dominio de State Management y asigna códigos de error funcionales a mensajes de texto legibles, así como a excepciones de C++ ([SWS_SM_81241]). En tiempo de ejecución, permite la identificación del dominio mediante métodos seguros para subprocesos, así como la traducción de valores de error individuales para el registro y el diagnóstico. Si se produce un error grave, a través de la interfaz también se puede lanzar una excepción tipificada ([SWS_SM_81250]). Si las excepciones de C++ están deshabilitadas en la cadena de herramientas (toolchain), la lógica de excepciones no está disponible y los errores deben procesarse en su lugar de forma puramente basada en valores.

Contexto

La clase ara::sm::SmErrorDomain define el dominio de errores específico para el clúster funcional de State Management en la Adaptive Platform ([SWS_SM_81241], SWS StateManagement §8.1.3 «Class: SmErrorDomain»). Como especialización de la arquitectura general de dominios de errores, hereda de ara::core::ErrorDomain según las especificaciones de [SWS_CORE_90023]. Su responsabilidad central consiste en encapsular semánticamente los estados de error de State Management, proporcionar identificadores de error estandarizados y garantizar la correspondencia entre códigos de error numéricos, textos de error y tipos de excepciones.

Entre los interlocutores principales se encuentran componentes internos de State Management que generan errores, así como servicios de aplicación y de plataforma de nivel superior que reciben errores a través de ara::core::ErrorCode. Mediante el alias de tipo público Errc, la clase hace referencia a la enumeración específica del dominio SmErrc ([SWS_SM_81245]). El alias de tipo Exception remite además a la clase base de excepciones asociada SmException ([SWS_SM_81246], SWS StateManagement §8.1.3.1.2 «Type Alias: Exception»).

Ciclo de vida

Las instancias de ara::sm::SmErrorDomain se crean a través del constructor predeterminado sin parámetros ([SWS_SM_81247], SWS StateManagement §8.1.3.2.1.1 «Default Constructor»). El constructor está declarado como noexcept y cuenta con la clasificación exception safe. Es de prever que una instancia de SmErrorDomain exista preferentemente como objeto estático o de larga duración en entornos de sistema típicos, ya que en el ecosistema de AUTOSAR Adaptive se requieren dominios de error en todo el proceso para interpretar los códigos de error. Pregunta Q-fbf8e3e45bf0181a (abierta)

En lo relativo a la concurrencia, las funciones centrales de la clase están especificadas para el funcionamiento concurrente: los métodos Name() ([SWS_SM_81248]) y Message() ([SWS_SM_81249]) están designados como thread-safe y exception safe. Por lo tanto, varios subprocesos de ejecución pueden consultar información de error en paralelo sin necesidad de sincronización externa.

Ruta de uso

La ruta de uso regular abarca la identificación del dominio de errores, la resolución de códigos de error en mensajes de diagnóstico legibles y, opcionalmente, la transformación en una excepción de C++. En primer lugar, una aplicación o componente de la plataforma puede obtener el nombre del dominio mediante Name(); este devuelve de forma invariable el identificador "Sm" ([SWS_SM_81248]).

Si se produce un error en State Management, su código se transfiere mediante Message(errorCode) ([SWS_SM_81249], SWS StateManagement §8.1.3.2.2.1 «Message»). La función devuelve un puntero a la cadena de caracteres asociada (const char*), con lo que los sistemas de registro y diagnóstico reciben mensajes significativos. Si el subsistema que realiza la llamada está diseñado para una gestión de errores basada en excepciones, transfiere el objeto de error a ThrowAsException() ([SWS_SM_81250]), con lo que se instancia y se lanza la excepción correspondiente al código de error.

Ruta de uso para la resolución de errores y la activación de excepcionesAplicaciónSmErrorDomainSmExceptionSmErrorDomain()Instanz bereitgestelltMessage(errorCode)const char* FehlermeldungoptAusnahmebehandlung aktivThrowAsException(errorCode)wirft Ausnahme

Diagrama de secuencia: secuencia típica al consultar información de error y al lanzar excepciones opcionalmente. Fuentes: [SWS_SM_81247], [SWS_SM_81248], [SWS_SM_81249], [SWS_SM_81250].

Escenarios de error

Los estados de error gestionados por el dominio se basan en el tipo de enumeración SmErrc, al que se le asigna un alias mediante Errc ([SWS_SM_81245]). Las situaciones de error se manifiestan como valores de retorno basados en ara::core::ErrorCode o a través de excepciones del tipo Exception (SmException, [SWS_SM_81246]).

Al llamar a ThrowAsException(), el método se considera por concepto como not exception safe, ya que lanza activamente la excepción vinculada al código de error ([SWS_SM_81250]). Una condición previa crítica para la disponibilidad de este método atañe a la configuración de la cadena de herramientas: conforme a [SWS_CORE_10304], ThrowAsException() no participa en la resolución de sobrecargas si las excepciones de C++ están deshabilitadas en la cadena de herramientas del compilador ([SWS_SM_81250]). Por consiguiente, en configuraciones de sistema sin soporte para excepciones, la gestión de errores debe procesarse estrictamente mediante códigos de retorno.

Esta guía fue generada por una IA sobre la base de la especificación AUTOSAR AP R25-11.

Mapa de miembros

Constructores y destructor

1

Alias de tipo

2

Diagrama de clases

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

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

SmErrorDomain función

Creates a SmErrorDomain instance.

SmErrorDomain () noexcept;

Métodos

Message función

Returns the message associated with the error code.

const char * Message (CodeType errorCode) const noexcept override;
Name función

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;

Alias de tipo

Errc alias de tipo

Alias for the error code value enumeration.

using Errc = SmErrc;
Exception alias de tipo

Alias for the exception base class.

Documentación de los métodos

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 5c30b05c668e Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función miembro ara::sm::SmErrorDomain::Message sirve para determinar de forma síncrona el mensaje de error textual asignado a un código de error determinado del dominio de error de State Management [SWS_SM_81249]. Está declarada en el archivo de cabecera ara/sm/sm_error_domain.h dentro del ámbito de la clase ara::sm::SmErrorDomain y cuenta en la especificación con el estado DRAFT AUTOSAR_AP_SWS_StateManagement §8.1.3.2.2.1 «Message».

La interfaz posee los siguientes parámetros y valores de retorno [SWS_SM_81249]:

  • Parámetros: errorCode de tipo CodeType recibe el número de error numérico para el cual se solicita el mensaje de texto asociado.
  • Valor de retorno: Un puntero de tipo const char * al mensaje de error asignado al código de error transmitido.

Para la ejecución se aplican estrictas garantías respecto a la concurrencia y al tratamiento de excepciones: la función está especificada como thread-safe y exception safe, así como declarada con el identificador noexcept [SWS_SM_81249]. Por tanto, puede invocarse de forma segura desde subprocesos arbitrarios sin bloqueos sincronizadores ni bloques try-catch.

En el marco de la gestión de errores de AUTOSAR Adaptive, el método sobrescribe la función virtual del dominio de error base. Interpretación: Dado que el valor de retorno está definido como const char * sin interfaz de asignación, es de suponer que el puntero haga referencia típicamente a literales de cadena estáticos que siguen siendo válidos durante todo el tiempo de ejecución del proceso. Pregunta Q-03fc170f18f910b4 (abierta)

Esta nota ha sido generada por una IA sobre la base de la especificación AUTOSAR Adaptive R25-11.

Guía del implementador pendiente (complejidad 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#2938691d
Content hash
2938691d
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

función Name [SWS_SM_81248] Upstream: RS_AP_00119, RS_AP_00159

const char * Name () const noexcept override;

Returns the name of the error domain.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: afc14722564a Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método de API Name de la clase de dominio de error ara::sm::SmErrorDomain sirve para obtener el nombre estandarizado del dominio de error de State Management ([SWS_SM_81248]). Según la especificación, la llamada síncrona devuelve siempre el valor de cadena constante "Sm" (SWS StateManagement §8.1.3.2.2.2 «Name»). Para su utilización debe incluirse el archivo de cabecera correspondiente ara/sm/sm_error_domain.h.

La función miembro no toma parámetros de transferencia y ofrece total seguridad frente a excepciones: está especificada como noexcept y exception safe ([SWS_SM_81248]), por lo que se garantiza que regresa sin lanzar excepciones y no genera códigos de error. Interpretación: Dado que como tipo de retorno se prescribe const char * con el valor fijo "Sm", es de suponer que la función haga referencia a un literal de cadena estático cuya vida útil es ilimitada. Pregunta Q-855d1837679010a7 (abierta)

En cuanto al contexto de llamada y a la concurrencia, el método está clasificado como thread-safe ([SWS_SM_81248]). Por lo tanto, puede ejecutarse en paralelo desde múltiples subprocesos sin sincronización manual. Para integradores y desarrolladores es además relevante que el requisito en la versión R25-11 cuenta con el estado DRAFT (SWS StateManagement §8.1.3.2.2.2 «Name»).

Esta nota de uso ha sido generada por una IA a partir de la especificación AUTOSAR Adaptive Release R25-11.

Guía del implementador pendiente (complejidad 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#add1aa41
Content hash
add1aa41
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

función SmErrorDomain [SWS_SM_81247] Upstream: RS_AP_00119, RS_AP_00159

SmErrorDomain () noexcept;

Creates a SmErrorDomain instance.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: bf3f9f38c25e Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

El constructor predeterminado SmErrorDomain() crea de forma síncrona una instancia del dominio de errores ara::sm::SmErrorDomain ([SWS_SM_81247]). La declaración se encuentra en el archivo de cabecera ara/sm/sm_error_domain.h. La llamada no requiere parámetros de transferencia y devuelve directamente el objeto de dominio inicializado (SWS StateManagement §8.1.3.2.1.1 «Default Constructor»).

Manejo de errores

La función cuenta con el identificador noexcept y está clasificada como segura frente a excepciones (exception safe) ([SWS_SM_81247]). Durante la creación no se producen códigos de error y no se lanzan excepciones.

Concurrencia y restricciones

La creación está especificada como thread-safe ([SWS_SM_81247]). Por consiguiente, las instancias pueden crearse concurrentemente en entornos multihilo sin necesidad de mecanismos de sincronización adicionales. No existen condiciones especiales de orden.

Interacción

El objeto creado pertenece a la clase ara::sm::SmErrorDomain ([SWS_SM_81241]), la cual está especificada de conformidad con [SWS_CORE_90023]. Dentro del módulo State Management, el dominio de errores interactúa con los siguientes elementos:

  • Errc ([SWS_SM_81245]) y Exception ([SWS_SM_81246]) como sinónimos de tipo para códigos de error (SmErrc) y tratamiento de excepciones (SmException).
  • Name() ([SWS_SM_81248]) devuelve el nombre de dominio "Sm".
  • Message() ([SWS_SM_81249]) traduce códigos de error en descripciones textuales.
  • ThrowAsException() ([SWS_SM_81250]) lanza el código de error como excepción, siempre que las excepciones de C++ estén habilitadas ([SWS_CORE_10304]).
  • GetSmDomain() ([SWS_SM_81251]) proporciona alternativamente una instancia global del dominio de errores.

Este texto ha sido generado por una IA sobre la base de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad 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#f396dbec
Content hash
f396dbec
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 6b483495310f Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función ara::sm::SmErrorDomain::ThrowAsException sirve para lanzar un código de error del dominio de error de State Management directamente como una excepción de C++ [SWS_SM_81250]. Está declarada en el archivo de cabecera ara/sm/sm_error_domain.h y sobrescribe la correspondiente función base para dominios de error (SWS StateManagement §8.1.3.2.2.3 «ThrowAsException»).

Invocación y parámetros

El método se invoca de forma síncrona y toma como único parámetro de transferencia una referencia constante a errorCode (de tipo ara::core::ErrorCode) [SWS_SM_81250]. No proporciona ningún valor de retorno (void), ya que instancia y lanza la excepción perteneciente al código de error transmitido, con lo cual se interrumpe el flujo regular de control en el punto de llamada [SWS_SM_81250].

Concurrencia y condiciones de contorno

  • Seguridad de subprocesos: La función está especificada explícitamente como segura para subprocesos (thread-safe) y, por lo tanto, puede invocarse sin problemas desde subprocesos concurrentes [SWS_SM_81250].
  • Seguridad frente a excepciones: El comportamiento está documentado como not exception safe [SWS_SM_81250]; Interpretación: Es de suponer que esto se deba al hecho de que el lanzamiento de la excepción abandona el flujo regular de control y el método, por definición, falla o propaga una excepción. Pregunta Q-5afbb1be303b657b (abierta)
  • Restricción del compilador: Según [SWS_CORE_10304], la función no participa en la resolución de sobrecarga (overload resolution) siempre que las excepciones de C++ estén desactivadas en la cadena de herramientas del compilador [SWS_SM_81250].

Esta nota de uso ha sido elaborada por una IA y se basa en las especificaciones relativas a AUTOSAR Adaptive R25-11.

Guía del implementador pendiente (complejidad 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#aba3b7e7
Content hash
aba3b7e7
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

Documentación de los alias de tipo

alias de tipo 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#e7ad14db
Content hash
e7ad14db
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

alias de tipo 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#bf4c0c7f
Content hash
bf4c0c7f
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