DEENESPTFRRUARHIKOZHNL

класс 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]

Руководство пользователяСОЗДАНО ИИ

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

Определяет домен ошибок модуля персистентности для предоставления кодов ошибок, текстовых описаний и исключений.

Класс ara::per::PerErrorDomain определяет домен ошибок для модуля персистентности и связывает коды ошибок с описательными сообщениями, а также с типами исключений [SWS_PER_00411]. Через потокобезопасные интерфейсы он позволяет запрашивать имя домена и сопоставлять описания ошибок с конкретными значениями ошибок. При необходимости он преобразует ошибки в исключения C++ через ThrowAsException() [SWS_PER_00350]. Если исключения отключены в тулчейне компилятора, эта функция генерации недоступна, поэтому проверка ошибок должна выполняться исключительно на основе возвращаемых значений.

Контекст

Класс ara::per::PerErrorDomain определяет специфический домен ошибок для модуля персистентности (Persistency) в рамках AUTOSAR Adaptive Platform. Он наследует от определения базового типа ara::core::ErrorDomain и объявлен как final, являясь основой для типизированной обработки ошибок и отображения ошибок всех операций, связанных с персистентностью. Через стандартизированные псевдонимы типов Errc [SWS_PER_00411] для базового перечисления кодов ошибок PerErrc, а также Exception [SWS_PER_00412] для базового класса исключений конкретного модуля PerException, класс связывает числовые значения ошибок, понятные сообщения об ошибках и конкретные объекты исключений C++. В архитектуре платформы домен ошибок тесно взаимодействует со службами персистентности, вызывающими функциональными кластерами, а также с обобщёнными структурами ошибок и результатов из ara::core.

Жизненный цикл

Создание экземпляра выполняется через стандартный конструктор PerErrorDomain() [SWS_PER_00313]. Этот конструктор объявлен как noexcept, полностью безопасен относительно исключений (exception safe) и потокобезопасен (thread-safe). Интерпретация: экземпляр PerErrorDomain, вероятно, обычно управляется как долгоживущий или глобальный объект, чтобы на протяжении всей работы гарантировать согласованное сравнение доменов и разрешение типов для ошибок персистентности. Вопрос Q-5d90982fddec40a7 (открытый) Поскольку все операции запроса класса также классифицируются как потокобезопасные, несколько потоков могут параллельно обращаться к одному и тому же экземпляру домена без необходимости использования дополнительных механизмов синхронизации на уровне вызывающей стороны.

Путь использования

Типичный сценарий использования включает идентификацию домена, запрос понятной диагностической информации и, опционально, генерацию исключений при возникновении ошибок в модуле персистентности. Сначала функция-член Name() возвращает уникальный идентификатор домена ошибок в виде строки [SWS_PER_00314]; она специфицирована как noexcept, безопасная относительно исключений и потокобезопасная. При возникновении ошибки во время операции персистентности её числовое значение ошибки разрешается через Message() [SWS_PER_00315]. Этот метод принимает числовой код ошибки типа CodeType и возвращает соответствующее сообщение об ошибке в виде константного указателя на символ (const char *), также с гарантией полной безопасности относительно исключений и потокобезопасности.

Если состояние ошибки требуется преобразовать в исключение C++, используется функция ThrowAsException() [SWS_PER_00350]. Следующая последовательность иллюстрирует взаимодействие при запросе ошибок и генерации исключений:

Опрос ошибки и возбуждение исключения в PerErrorDomainПриложениеPersistenzLaufzeitPerErrorDomainВыполнить операцию персистентности()Возврат кода ошибки / ResultMessage(errorCode)const char * (Fehlernachricht)optТребуется обработка исключенийThrowAsException(errorCode)throw PerException

Диаграмма последовательности: типичный процесс проверки ошибок, запроса текста и генерации исключений через PerErrorDomain. Источники: [SWS_PER_00314], [SWS_PER_00315], [SWS_PER_00350].

Сценарии ошибок

При практическом применении ara::per::PerErrorDomain разработчики должны учитывать различные гарантии относительно обработки ошибок и безопасности исключений. В то время как опрашивающие интерфейсы Name() [SWS_PER_00314] и Message() [SWS_PER_00315] строго объявлены как noexcept и классифицируются как безопасные относительно исключений, функция-член ThrowAsException() считается небезопасной относительно исключений (not exception safe) [SWS_PER_00350]. Такое поведение семантически обосновано, так как назначение функции состоит в контролируемой генерации исключения, соответствующего коду ошибки (noexcept(false)).

Существенное граничное условие касается платформ или конфигураций сборки без активированных исключений C++: если обработка исключений отключена в компиляторе, ThrowAsException() в соответствии с [SWS_PER_00350] не участвует в разрешении перегрузки. В таких окружениях прикладное программное обеспечение должно прибегать к анализу кодов ошибок через предоставленные псевдонимы Errc [SWS_PER_00411] и текстовые описания Message() [SWS_PER_00315] вместо перехвата объектов исключений типа Exception [SWS_PER_00412].

Настоящее руководство было автоматически сформировано на основе требований спецификации AUTOSAR.

Карта членов

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

1

Псевдонимы типов

2

Диаграмма классов

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

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

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

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

PerErrorDomain функция

Creates a PerErrorDomain instance.

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

Псевдонимы типов

Errc псевдоним типа

Alias for the error code value enumeration.

using Errc = PerErrc;
Exception псевдоним типа

Alias for the exception base class.

Документация методов

функция 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#b3bca821
Content hash
b3bca821
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

функция 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#0b843517
Content hash
0b843517
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

функция 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#9b2787e9
Content hash
9b2787e9
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

функция 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#79e99201
Content hash
79e99201
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

Документация псевдонимов типов

псевдоним типа 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#9f41d55b
Content hash
9f41d55b
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

псевдоним типа 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#1b9ce329
Content hash
1b9ce329
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