DEENESPTFRRUARHIKOZHNL

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

User GuideAI-GEGENEREERD

Definieert het foutdomein van de persistency-module voor het beschikbaar stellen van foutcodes, tekstbeschrijvingen en uitzonderingen.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: da81ed3d3cb6 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Definieert het foutdomein van de persistency-module voor het beschikbaar stellen van foutcodes, tekstbeschrijvingen en uitzonderingen.

De klasse ara::per::PerErrorDomain definieert het foutdomein voor de persistency-module en koppelt foutcodes aan beschrijvende meldingen en uitzonderingstypen [SWS_PER_00411]. Zij maakt via thread-safe interfaces het opvragen van de domeinnaam en het resolven van foutbeschrijvingen naar concrete foutwaarden mogelijk. Indien gewenst zet zij fouten via ThrowAsException() om in C++-uitzonderingen [SWS_PER_00350]. Zijn uitzonderingen in de compiler-toolchain gedeactiveerd, dan is deze triggerfunctie niet beschikbaar, zodat de foutcontrole louter op basis van retourwaarden moet plaatsvinden.

Context

De klasse ara::per::PerErrorDomain definieert het specifieke foutdomein voor de persistency-module (Persistency) binnen het AUTOSAR Adaptive Platform. Zij overerft van de basistypedefinitie ara::core::ErrorDomain en is gedeclareerd als final, waarmee zij de basis vormt voor de getypeerde foutafhandeling en foutafbeelding van alle persistency-gerelateerde operaties. Via de gestandaardiseerde type-aliassen Errc [SWS_PER_00411] voor de onderliggende foutcode-enumeratie PerErrc en Exception [SWS_PER_00412] voor de modulespecifieke uitzonderingsbasisklasse PerException koppelt de klasse numerieke foutwaarden, sprekende foutmeldingen en concrete C++-uitzonderingsobjecten. In de platformarchitectuur interacteert het foutdomein nauw met de persistency-services, de aanroepende functionele clusters en de generieke fout- en resultaatstructuren uit ara::core.

Levenscyclus

De creatie van een instantie vindt plaats via de standaardconstructor PerErrorDomain() [SWS_PER_00313]. Deze constructor is gedeclareerd als noexcept, volledig uitzonderingsveilig (exception safe) en thread-safe (thread-safe). Interpretatie: De instantie van PerErrorDomain zal typisch als een langlevend of globaal object worden beheerd, om tijdens het gehele bedrijf consistente domeinvergelijkingen en typerosoluties voor persistency-fouten te waarborgen. Vraag Q-5d90982fddec40a7 (open) Aangezien alle opvragende operaties van de klasse eveneens als thread-safe zijn geclassificeerd, kunnen meerdere threads parallel toegang hebben tot dezelfde domeininstantie zonder dat aanvullende synchronisatiemechanismen op aanroepersniveau vereist zijn.

Gebruikspad

Een typisch gebruikspad omvat de identificatie van het domein, het opvragen van begrijpelijke diagnose-informatie en optioneel het triggeren van uitzonderingen bij opgetreden fouten in de persistency-module. Eerst levert de elementfunctie Name() de unieke identifier van het foutdomein als tekenreeks op [SWS_PER_00314]; zij is gespecificeerd als noexcept, exception-safe en thread-safe. Treedt bij een persistency-operatie een fout op, dan wordt de numerieke foutwaarde ervan via Message() geresolved [SWS_PER_00315]. Deze methode neemt de numerieke foutcode van het type CodeType aan en levert de bijbehorende foutmelding als constante tekenwijzer (const char *) op, eveneens onder garantie van volledige exception safety en thread safety.

Moet een fouttoestand worden omgezet in een C++-uitzondering, dan wordt de functie ThrowAsException() gebruikt [SWS_PER_00350]. Het volgende verloop verduidelijkt het samenspel bij het opvragen van fouten en het triggeren van uitzonderingen:

Foutcontrole en genereren van uitzonderingen in PerErrorDomainAnwendungPersistenzLaufzeitPerErrorDomainPersistentieoperatie uitvoeren()Teruggave foutcode / ResultMessage(errorCode)const char * (Fehlernachricht)optExceptieafhandeling gewenstThrowAsException(errorCode)throw PerException

Sequentiediagram: Typisch verloop van foutcontrole, tekstopvraag en het triggeren van uitzonderingen via PerErrorDomain. Bronnen: [SWS_PER_00314], [SWS_PER_00315], [SWS_PER_00350].

Foutscenario's

Bij het praktische gebruik van ara::per::PerErrorDomain moeten ontwikkelaars rekening houden met de verschillende garanties betreffende foutafhandeling en uitzonderingsveiligheid. Terwijl de opvragende interfaces Name() [SWS_PER_00314] en Message() [SWS_PER_00315] strikt zijn gedeclareerd als noexcept en als exception-safe worden geclassificeerd, geldt de elementfunctie ThrowAsException() als niet-uitzonderingsveilig (not exception safe) [SWS_PER_00350]. Dit gedrag is semantisch gemotiveerd, aangezien het doel van de functie bestaat in het gecontroleerd triggeren van een aan de foutcode equivalente uitzondering (noexcept(false)).

Een wezenlijke randvoorwaarde betreft platforms of buildconfiguraties zonder geactiveerde C++-uitzonderingen: is de uitzonderingsafhandeling in de compiler gedeactiveerd, dan neemt ThrowAsException() conform [SWS_PER_00350] niet deel aan overload resolution. In dergelijke omgevingen moet de applicatiesoftware terugvallen op de evaluatie van foutcodes via de beschikbaar gestelde aliassen Errc [SWS_PER_00411] en de tekstuele beschrijvingen van Message() [SWS_PER_00315], in plaats van uitzonderingsobjecten van het type Exception [SWS_PER_00412] af te vangen.

Deze handleiding is automatisch gegenereerd op basis van de AUTOSAR-specificatievereisten.

Ledenkaart

Constructors en destructor

1

Type-aliassen

2

Klassendiagram

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

Detailweergave

Kies een item in de inhoudsopgave.

Constructors en destructor

Creates a PerErrorDomain instance.

PerErrorDomain () noexcept;

Methoden

Message functie

Returns the message associated with the error code.

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

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;

Type-aliassen

Errc typealias

Alias for the error code value enumeration.

using Errc = PerErrc;
Exception typealias

Alias for the exception base class.

Documentatie van de methoden

functie 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#122de52e
Content hash
122de52e
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

functie 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#9380b16b
Content hash
9380b16b
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

functie 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#1ced4057
Content hash
1ced4057
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

functie 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#3c35de53
Content hash
3c35de53
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

Documentatie van de typealiassen

typealias 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#2538c127
Content hash
2538c127
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

typealias 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#b71b54cb
Content hash
b71b54cb
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