DEENESPTFRRUARHIKOZHNL

clase ara::per::PerErrorDomain

[SWS_PER_00312] Upstream: RS_AP_00122, RS_AP_00127, RS_AP_00140

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

Defines the error domain for Persistency.

Header-Datei#include "ara/per/per_error_domain.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per
Basisklasse(n)ara::core::ErrorDomain
Unique IDAs per ara::per::PerErrorDomain in [SWS_CORE_90023]

Guía del usuarioGENERADO POR IA

Define el dominio de error del módulo de persistencia para proporcionar códigos de error, descripciones textuales y excepciones.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: da81ed3d3cb6 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Define el dominio de error del módulo de persistencia para proporcionar códigos de error, descripciones textuales y excepciones.

La clase ara::per::PerErrorDomain define el dominio de error para el módulo de persistencia y vincula códigos de error con mensajes descriptivos, así como con tipos de excepción [SWS_PER_00411]. Permite consultar el nombre del dominio y resolver descripciones de error para valores de error concretos mediante interfaces seguras para subprocesos (thread-safe). En caso necesario, transfiere errores a excepciones de C++ mediante ThrowAsException() [SWS_PER_00350]. Si las excepciones están desactivadas en la cadena de herramientas del compilador, esta función de activación no está disponible, por lo que la comprobación de errores debe realizarse puramente basada en valores de retorno.

Contexto

La clase ara::per::PerErrorDomain define el dominio de error específico para el módulo de persistencia (Persistency) dentro de AUTOSAR Adaptive Platform. Hereda de la definición de tipo base ara::core::ErrorDomain y está declarada como final, con lo que constituye la base para el tratamiento y mapeo tipado de errores de todas las operaciones relacionadas con persistencia. Mediante los alias de tipo estandarizados Errc [SWS_PER_00411] para la enumeración de códigos de error subyacente PerErrc, así como Exception [SWS_PER_00412] para la clase base de excepción específica del módulo PerException, la clase vincula valores numéricos de error, mensajes de error descriptivos y objetos de excepción de C++ concretos. En la arquitectura de la plataforma, el dominio de error interactúa estrechamente con los servicios de persistencia, los clústeres funcionales invocadores y las estructuras genéricas de error y resultado de ara::core.

Ciclo de vida

La creación de una instancia se realiza mediante el constructor estándar PerErrorDomain() [SWS_PER_00313]. Este constructor está declarado como noexcept, y es completamente seguro frente a excepciones (exception safe) y seguro para subprocesos (thread-safe). Interpretación: la instancia de PerErrorDomain probablemente deba gestionarse como un objeto de larga vida o global, a fin de garantizar comparaciones de dominio y resoluciones de tipo coherentes para errores de persistencia a lo largo de todo el funcionamiento. Pregunta Q-5d90982fddec40a7 (abierta) Dado que todas las operaciones de consulta de la clase también están clasificadas como seguras para subprocesos, varios subprocesos pueden acceder en paralelo a la misma instancia de dominio sin necesidad de mecanismos de sincronización adicionales en el nivel del invocador.

Ruta de uso

Una ruta de uso típica abarca la identificación del dominio, la consulta de información de diagnóstico comprensible y, opcionalmente, la activación de excepciones ante errores ocurridos en el módulo de persistencia. En primer lugar, la función miembro Name() devuelve el identificador unívoco del dominio de error como cadena de caracteres [SWS_PER_00314]; está especificada como noexcept, segura frente a excepciones y segura para subprocesos. Si ocurre un error en una operación de persistencia, su valor numérico de error se resuelve mediante Message() [SWS_PER_00315]. Este método recibe el código de error numérico de tipo CodeType y devuelve el mensaje de error asociado como un puntero a caracteres constantes (const char *), garantizando igualmente una total seguridad frente a excepciones y seguridad para subprocesos.

Si un estado de error debe transformarse en una excepción de C++, se emplea la función ThrowAsException() [SWS_PER_00350]. La siguiente secuencia ilustra la interacción en la comprobación de errores y la activación de excepciones:

Consulta de errores y activación de excepción en PerErrorDomainAplicaciónPersistenzLaufzeitPerErrorDomainejecutar operación de persistencia()Devolución de código de error / ResultMessage(errorCode)const char * (Fehlernachricht)optTratamiento de excepciones deseadoThrowAsException(errorCode)throw PerException

Diagrama de secuencia: Flujo típico de comprobación de errores, consulta de texto y activación de excepciones a través de PerErrorDomain. Fuentes: [SWS_PER_00314], [SWS_PER_00315], [SWS_PER_00350].

Escenarios de error

En el uso práctico de ara::per::PerErrorDomain, los desarrolladores deben considerar las distintas garantías relativas al tratamiento de errores y a la seguridad frente a excepciones. Mientras que las interfaces de consulta Name() [SWS_PER_00314] y Message() [SWS_PER_00315] están declaradas estrictamente como noexcept y se clasifican como seguras frente a excepciones, la función miembro ThrowAsException() se considera no segura frente a excepciones (not exception safe) [SWS_PER_00350]. Este comportamiento está justificado semánticamente, ya que el propósito de la función consiste en lanzar de forma controlada una excepción correspondiente al código de error (noexcept(false)).

Una condición de contorno fundamental afecta a las plataformas o configuraciones de compilación sin excepciones de C++ activadas: si el tratamiento de excepciones está desactivado en el compilador, ThrowAsException() no participa en la resolución de sobrecargas según [SWS_PER_00350]. En tales entornos, el software de aplicación debe recurrir a la evaluación de códigos de error a través de los alias proporcionados Errc [SWS_PER_00411] y las descripciones textuales de Message() [SWS_PER_00315], en lugar de capturar objetos de excepción del tipo Exception [SWS_PER_00412].

Esta guía fue generada automáticamente en base a los requisitos de especificación de AUTOSAR.

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__per__PerErrorDomain979 PerErrorDomain + PerErrorDomain() + Message() + Name() + ThrowAsException() nara__core__ErrorDomain335 ErrorDomain nara__per__PerErrorDomain979->nara__core__ErrorDomain335

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

Creates a PerErrorDomain instance.

PerErrorDomain () 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 noexcept(false) override;

Alias de tipo

Errc alias de tipo

Alias for the error code value enumeration.

using Errc = PerErrc;
Exception alias de tipo

Alias for the exception base class.

Documentación de los métodos

función Message [SWS_PER_00315] Upstream: RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00159

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

Returns the message associated with the error code.

Header-Datei#include "ara/per/per_error_domain.h"
Scopeclass ara::per::PerErrorDomain
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_PER_00315
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00315@rel:R25-11#4057e5c1
Content hash
4057e5c1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00315
Status: valid/unmigrated Version: rel:R25-11#b3b0e84a 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_PER_00315@rel:R25-11#b3b0e84a
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#dcf865cc2026-09-30
  • R19-11rel:R19-11#fa40c0592026-10-14
  • R20-11rel:R20-11#482223252026-10-14
  • R21-11rel:R21-11#4762f8102026-10-14
  • R22-11rel:R22-11#03cd14022026-10-14
  • R23-11rel:R23-11#d69d63782026-10-14
  • R24-11rel:R24-11#b3b0e84a2026-10-14
  • R25-11rel:R25-11#b3b0e84a2026-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

función Name [SWS_PER_00314] Upstream: RS_AP_00119, RS_AP_00120, RS_AP_00159

const char * Name () const noexcept override;

Returns the name of the error domain.

Header-Datei#include "ara/per/per_error_domain.h"
Scopeclass ara::per::PerErrorDomain
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
const char *As per ara::per::PerErrorDomain in [SWS_CORE_90023].

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

Record
AUTOSAR/AP/record/SWS_PER_00314
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00314@rel:R25-11#ccf0e0e1
Content hash
ccf0e0e1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00314
Status: valid/unmigrated Version: rel:R25-11#bbc9c834 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_PER_00314@rel:R25-11#bbc9c834
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#8efa8b412026-09-30
  • R19-11rel:R19-11#157f07862026-10-14
  • R20-11rel:R20-11#578706942026-10-14
  • R21-11rel:R21-11#578706942026-10-14
  • R22-11rel:R22-11#7e3ba2a72026-10-14
  • R23-11rel:R23-11#4ed7a81d2026-10-14
  • R24-11rel:R24-11#f4d2bd532026-10-14
  • R25-11rel:R25-11#bbc9c8342026-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

función PerErrorDomain [SWS_PER_00313] Upstream: RS_AP_00119, RS_AP_00120, RS_AP_00159

PerErrorDomain () noexcept;

Creates a PerErrorDomain instance.

Header-Datei#include "ara/per/per_error_domain.h"
Scopeclass ara::per::PerErrorDomain
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_PER_00313
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00313@rel:R25-11#57d2b566
Content hash
57d2b566
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00313
Status: valid/unmigrated Version: rel:R25-11#676bd5fe 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_PER_00313@rel:R25-11#676bd5fe
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2fe03ca62026-09-30
  • R19-11rel:R19-11#493784652026-10-14
  • R20-11rel:R20-11#e90ad4282026-10-14
  • R21-11rel:R21-11#4fed90922026-10-14
  • R22-11rel:R22-11#c86bdbe02026-10-14
  • R23-11rel:R23-11#07bddb402026-10-14
  • R24-11rel:R24-11#676bd5fe2026-10-14
  • R25-11rel:R25-11#676bd5fe2026-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

función ThrowAsException [SWS_PER_00350] Upstream: RS_AP_00120, RS_AP_00121

void ThrowAsException (const ara::core::ErrorCode &errorCode) const noexcept(false) 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.

Header-Datei#include "ara/per/per_error_domain.h"
Scopeclass ara::per::PerErrorDomain
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_PER_00350
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00350@rel:R25-11#567b384c
Content hash
567b384c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00350
Status: valid/unmigrated Version: rel:R25-11#d5cad670 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_PER_00350@rel:R25-11#d5cad670
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ac2c50332026-09-30
  • R19-11rel:R19-11#08d8b5132026-10-14
  • R20-11rel:R20-11#bcef1c2f2026-10-14
  • R21-11rel:R21-11#bcef1c2f2026-10-14
  • R22-11rel:R22-11#855e1f712026-10-14
  • R23-11rel:R23-11#a44240ed2026-10-14
  • R24-11rel:R24-11#d5cad6702026-10-14
  • R25-11rel:R25-11#d5cad6702026-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

Documentación de los alias de tipo

alias de tipo Errc [SWS_PER_00411] Upstream: RS_AP_00122

using Errc = PerErrc;

Alias for the error code value enumeration.

Header-Datei#include "ara/per/per_error_domain.h"
Scopeclass ara::per::PerErrorDomain
SymbolErrc

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

Record
AUTOSAR/AP/record/SWS_PER_00411
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00411@rel:R25-11#b3033f23
Content hash
b3033f23
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00411
Status: valid/unmigrated Version: rel:R25-11#9d0ddf8d Versionshistorie & Revisions (1 transition, 7 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_PER_00411@rel:R25-11#9d0ddf8d
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#78fe22022026-09-30
  • R20-11rel:R20-11#39e744882026-10-14
  • R21-11rel:R21-11#39e744882026-10-14
  • R22-11rel:R22-11#8f96934a2026-10-14
  • R23-11rel:R23-11#9d0ddf8d2026-10-14
  • R24-11rel:R24-11#9d0ddf8d2026-10-14
  • R25-11rel:R25-11#9d0ddf8d2026-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

alias de tipo Exception [SWS_PER_00412] Upstream: RS_AP_00122

using Exception = PerException;

Alias for the exception base class.

Header-Datei#include "ara/per/per_error_domain.h"
Scopeclass ara::per::PerErrorDomain
SymbolException

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

Record
AUTOSAR/AP/record/SWS_PER_00412
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00412@rel:R25-11#720360f7
Content hash
720360f7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00412
Status: valid/unmigrated Version: rel:R25-11#12539c4d Versionshistorie & Revisions (1 transition, 7 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_PER_00412@rel:R25-11#12539c4d
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#0875fcdc2026-09-30
  • R20-11rel:R20-11#e88607572026-10-14
  • R21-11rel:R21-11#e88607572026-10-14
  • R22-11rel:R22-11#b0bd04f32026-10-14
  • R23-11rel:R23-11#12539c4d2026-10-14
  • R24-11rel:R24-11#12539c4d2026-10-14
  • R25-11rel:R25-11#12539c4d2026-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