DEENESPTFRRUARHIKOZHNL

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

Guia do utilizadorGERADO POR IA

Serve para a definição e resolução de códigos de erro, bem como exceções dentro do State Management.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: bb9dfd646ad0 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve para a definição e resolução de códigos de erro, bem como exceções dentro do State Management.

A classe ara::sm::SmErrorDomain representa o domínio de erro específico do State Management e associa códigos de erro funcionais a mensagens de texto legíveis, bem como a exceções C++ ([SWS_SM_81241]). Em tempo de execução, ela permite, por meio de métodos thread-safe, a identificação do domínio, bem como a tradução de valores de erro individuais para registro em log e diagnóstico. Caso ocorra um erro grave, uma exceção tipada também pode ser lançada por meio da interface ([SWS_SM_81250]). Se as exceções C++ estiverem desativadas na toolchain, a lógica de exceções não estará disponível e os erros deverão, em vez disso, ser processados puramente com base em valores.

Contexto

A classe ara::sm::SmErrorDomain define o domínio de erro específico para o cluster funcional do State Management na Adaptive Platform ([SWS_SM_81241], SWS StateManagement §8.1.3 «Class: SmErrorDomain»). Como especialização da arquitetura geral de domínio de erros, ela herda de ara::core::ErrorDomain de acordo com as especificações de [SWS_CORE_90023]. Sua responsabilidade central consiste em encapsular semanticamente estados de erro do State Management, fornecer identificadores de erro padronizados e assegurar o mapeamento entre códigos de erro numéricos, textos de erro e tipos de exceção.

Entre os principais parceiros de interação estão componentes internos do State Management, que geram erros, bem como serviços de aplicação e de plataforma superiores, que recebem erros por meio de ara::core::ErrorCode. Por meio do alias de tipo público Errc, a classe faz referência à enumeração específica de domínio SmErrc ([SWS_SM_81245]). O alias de tipo Exception também aponta para a classe base de exceção associada SmException ([SWS_SM_81246], SWS StateManagement §8.1.3.1.2 «Type Alias: Exception»).

Ciclo de vida

Instâncias de ara::sm::SmErrorDomain são criadas por meio do construtor padrão sem parâmetros ([SWS_SM_81247], SWS StateManagement §8.1.3.2.1.1 «Default Constructor»). O construtor é declarado como noexcept e possui a classificação exception safe. Em ambientes de sistema típicos, uma instância de SmErrorDomain provavelmente deve existir de preferência como um objeto estático ou de longa vida útil, uma vez que domínios de erro são necessários em todo o processo no ecossistema AUTOSAR Adaptive para a interpretação de códigos de erro. Pergunta Q-fbf8e3e45bf0181a (aberta)

Quanto à concorrência, as funções essenciais da classe são especificadas para operação concorrente: os métodos Name() ([SWS_SM_81248]) e Message() ([SWS_SM_81249]) são classificados como thread-safe, bem como exception safe. Múltiplas threads de execução podem, portanto, consultar informações de erro em paralelo, sem que seja necessária uma sincronização externa.

Caminho de utilização

O caminho de uso regular compreende a identificação do domínio de erro, a resolução de códigos de erro em mensagens de diagnóstico legíveis e, opcionalmente, a transformação em uma exceção C++. Inicialmente, uma aplicação ou componente de plataforma pode obter o nome do domínio por meio de Name(); este retorna invariavelmente o identificador "Sm" ([SWS_SM_81248]).

Se ocorrer um erro no State Management, o respetivo código é transmitido via Message(errorCode) ([SWS_SM_81249], SWS StateManagement §8.1.3.2.2.1 «Message»). A função retorna um ponteiro para a cadeia de carateres associada (const char*), fornecendo mensagens significativas aos sistemas de registo e diagnóstico. Se o subsistema chamador estiver concebido para um tratamento de erros baseado em exceções, ele passa o objeto de erro para ThrowAsException() ([SWS_SM_81250]), fazendo com que a exceção correspondente ao código de erro seja instanciada e lançada.

Caminho de uso para resolução de erros e lançamento de exceçõesAplicaçãoSmErrorDomainSmExceptionSmErrorDomain()Instanz bereitgestelltMessage(errorCode)const char* FehlermeldungoptAusnahmebehandlung aktivThrowAsException(errorCode)wirft Ausnahme

Diagrama de sequência: sequência típica na consulta de informações de erro e no disparo opcional de exceção. Fontes: [SWS_SM_81247], [SWS_SM_81248], [SWS_SM_81249], [SWS_SM_81250].

Cenários de erro

Os estados de erro geridos pelo domínio baseiam-se no tipo de enumeração SmErrc, ao qual é atribuído um alias através de Errc ([SWS_SM_81245]). As situações de erro manifestam-se quer como valores de retorno com base em ara::core::ErrorCode quer através de exceções do tipo Exception (SmException, [SWS_SM_81246]).

Ao chamar ThrowAsException(), o método é considerado, por conceção, not exception safe, visto que dispara ativamente a exceção associada ao código de erro ([SWS_SM_81250]). Uma pré-condição crítica para a disponibilidade deste método diz respeito à configuração da toolchain: de acordo com [SWS_CORE_10304], ThrowAsException() não participa na resolução de sobrecarga se as exceções de C++ estiverem desativadas na toolchain do compilador ([SWS_SM_81250]). Em configurações de sistema sem suporte a exceções, o tratamento de erros deve, por conseguinte, ser processado estritamente através de códigos de retorno.

Este guia foi gerado por uma IA com base na especificação AUTOSAR AP R25-11.

Mapa de membros

Construtores e destrutor

1

Aliases de tipo

2

Diagrama de classes

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 detalhes

Selecione uma entrada no índice.

Construtores e destrutor

SmErrorDomain função

Creates a SmErrorDomain instance.

SmErrorDomain () noexcept;

Métodos

Message função

Returns the message associated with the error code.

const char * Message (CodeType errorCode) const noexcept override;
Name função

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;

Aliases 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.

Documentação dos métodos

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 5c30b05c668e Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função-membro ara::sm::SmErrorDomain::Message serve para determinar de forma síncrona a mensagem textual de erro associada a um código de erro específico do domínio de erros do State Management [SWS_SM_81249]. Encontra-se declarada no ficheiro de cabeçalho ara/sm/sm_error_domain.h dentro do âmbito da classe ara::sm::SmErrorDomain e tem o estado DRAFT na especificação AUTOSAR_AP_SWS_StateManagement §8.1.3.2.2.1 «Message».

A interface possui os seguintes parâmetros e valores de retorno [SWS_SM_81249]:

  • Parâmetro: errorCode do tipo CodeType recebe o número de erro numérico para o qual a respetiva mensagem de texto é solicitada.
  • Valor de retorno: Um ponteiro do tipo const char * para a mensagem de erro atribuída ao código de erro fornecido.

Para a execução aplicam-se garantias rigorosas relativas a concorrência e tratamento de exceções: A função está especificada como thread-safe e exception safe, e declarada com o identificador noexcept [SWS_SM_81249]. Pode, assim, ser chamada em segurança a partir de quaisquer threads sem bloqueios sincronizadores ou blocos try-catch.

No âmbito da gestão de erros do AUTOSAR Adaptive, o método substitui a função virtual do domínio de erros base. Interpretação: Dado que o valor de retorno está definido como const char * sem interface de alocação, o ponteiro deverá tipicamente apontar para literais de string estáticos que permanecem válidos durante todo o tempo de execução do processo. Pergunta Q-03fc170f18f910b4 (aberta)

Esta nota foi gerada por uma IA com base na especificação AUTOSAR Adaptive R25-11.

Guia do implementador em breve (complexidade 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#c5fd5b32
Content hash
c5fd5b32
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

função Name [SWS_SM_81248] Upstream: RS_AP_00119, RS_AP_00159

const char * Name () const noexcept override;

Returns the name of the error domain.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: afc14722564a Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método de API Name da classe de domínio de erros ara::sm::SmErrorDomain serve para obter o nome padronizado do domínio de erros do State Management ([SWS_SM_81248]). De acordo com a especificação, a chamada síncrona devolve sempre o valor constante de cadeia de caracteres "Sm" (SWS StateManagement §8.1.3.2.2.2 «Name»). Para a utilização, é necessário incluir o respetivo ficheiro de cabeçalho ara/sm/sm_error_domain.h.

A função-membro não recebe parâmetros de passagem e oferece total segurança contra exceções: está especificada como noexcept e exception safe ([SWS_SM_81248]), pelo que é garantido que regressa sem lançar exceções e não gera códigos de erro. Interpretação: Como está predefinido o tipo de retorno const char * com o valor fixo "Sm", é provável que a função aponte para um literal de string estático, cuja vida útil é ilimitada. Pergunta Q-855d1837679010a7 (aberta)

No que diz respeito ao contexto de chamada e à concorrência, o método está classificado como thread-safe ([SWS_SM_81248]). Pode, portanto, ser executado em paralelo a partir de múltiplas threads sem sincronização manual. Para integradores e programadores, é ainda relevante que o requisito no release R25-11 possui o estado DRAFT (SWS StateManagement §8.1.3.2.2.2 «Name»).

Esta nota de utilização foi gerada por uma IA com base na especificação AUTOSAR Adaptive Release R25-11.

Guia do implementador em breve (complexidade 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#9aade9ec
Content hash
9aade9ec
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

função SmErrorDomain [SWS_SM_81247] Upstream: RS_AP_00119, RS_AP_00159

SmErrorDomain () noexcept;

Creates a SmErrorDomain instance.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: bf3f9f38c25e Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

O construtor padrão SmErrorDomain() cria de forma síncrona uma instância do domínio de erro ara::sm::SmErrorDomain ([SWS_SM_81247]). A declaração encontra-se no arquivo de cabeçalho ara/sm/sm_error_domain.h. A chamada não necessita de parâmetros de passagem e retorna diretamente o objeto de domínio inicializado (SWS StateManagement §8.1.3.2.1.1 «Default Constructor»).

Tratamento de erros

A função é provida do identificador noexcept e classificada como segura contra exceções (exception safe) ([SWS_SM_81247]). Durante a criação, não ocorrem códigos de erro e nenhuma exceção é lançada.

Simultaneidade e restrições

A criação está especificada como thread-safe ([SWS_SM_81247]). Instâncias podem, portanto, ser criadas concorrentemente em ambientes multithreading sem a necessidade de mecanismos adicionais de sincronização. Não existem condições especiais de ordenação.

Interação

O objeto criado pertence à classe ara::sm::SmErrorDomain ([SWS_SM_81241]), que está especificada de acordo com [SWS_CORE_90023]. Dentro do módulo State Management, o domínio de erro interage com os seguintes elementos:

  • Errc ([SWS_SM_81245]) e Exception ([SWS_SM_81246]) como sinônimos de tipo para códigos de erro (SmErrc) e tratamento de exceções (SmException).
  • Name() ([SWS_SM_81248]) fornece o nome do domínio "Sm".
  • Message() ([SWS_SM_81249]) traduz códigos de erro em descrições textuais.
  • ThrowAsException() ([SWS_SM_81250]) lança o código de erro como exceção, desde que exceções C++ estejam ativadas ([SWS_CORE_10304]).
  • GetSmDomain() ([SWS_SM_81251]) disponibiliza, alternativamente, uma instância global do domínio de erro.

Este texto foi gerado por uma IA com base na especificação AUTOSAR R25-11.

Guia do implementador em breve (complexidade 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#e8bd7224
Content hash
e8bd7224
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 6b483495310f Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função ara::sm::SmErrorDomain::ThrowAsException serve para lançar diretamente como exceção C++ um código de erro do domínio de erros do State Management [SWS_SM_81250]. Encontra-se declarada no ficheiro de cabeçalho ara/sm/sm_error_domain.h e substitui a função base correspondente para domínios de erro (SWS StateManagement §8.1.3.2.2.3 «ThrowAsException»).

Chamada e parâmetros

O método é chamado de forma síncrona e recebe como único parâmetro de passagem uma referência constante para errorCode (do tipo ara::core::ErrorCode) [SWS_SM_81250]. Não devolve nenhum valor de retorno (void), visto que instancia e lança a exceção correspondente ao código de erro fornecido, abortando assim o fluxo normal de controlo no ponto de chamada [SWS_SM_81250].

Simultaneidade e condições marginais

  • Segurança de threads: A função está explicitamente especificada como segura para threads (thread-safe) e pode, portanto, ser chamada sem problemas a partir de threads concorrentes [SWS_SM_81250].
  • Segurança contra exceções: O comportamento está documentado como not exception safe [SWS_SM_81250]; Interpretação: Isto dever-se-á ao facto de o lançamento da exceção abandonar o fluxo normal de controlo e o método falhar por definição ou propagar uma exceção. Pergunta Q-5afbb1be303b657b (aberta)
  • Restrição do compilador: De acordo com [SWS_CORE_10304], a função não participa na resolução de sobrecargas (overload resolution) se as exceções C++ estiverem desativadas na toolchain do compilador [SWS_SM_81250].

Esta nota de utilização foi criada por uma IA e baseia-se nas especificações para o AUTOSAR Adaptive R25-11.

Guia do implementador em breve (complexidade 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#e6894f4c
Content hash
e6894f4c
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

Documentação dos aliases 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