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]

사용자 가이드AI 생성

오류 코드, 텍스트 설명 및 예외를 제공하기 위한 Persistency 모듈의 오류 도메인을 정의합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: da81ed3d3cb6 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

오류 코드, 텍스트 설명 및 예외를 제공하기 위한 Persistency 모듈의 오류 도메인을 정의합니다.

ara::per::PerErrorDomain 클래스는 Persistency 모듈을 위한 오류 도메인을 정의하고 오류 코드를 설명 메시지 및 예외 타입과 연결합니다 [SWS_PER_00411]. 스레드 안전한 인터페이스를 통해 도메인 이름 조회뿐만 아니라 구체적인 오류 값에 대한 오류 설명 확인을 가능하게 합니다. 필요 시 ThrowAsException()을(를) 통해 오류를 C++ 예외로 변환합니다 [SWS_PER_00350]. 컴파일러 툴체인에서 예외가 비활성화된 경우 이 발생 기능은 사용할 수 없으므로, 오류 검사는 순수하게 반환값 기반으로 수행되어야 합니다.

컨텍스트

ara::per::PerErrorDomain 클래스는 AUTOSAR Adaptive Platform 내에서 Persistency 모듈(Persistency)을 위한 특정 오류 도메인을 정의합니다. 이 클래스는 기본 타입 정의 ara::core::ErrorDomain에서 상속되며 final(으)로 선언되어, 모든 영속성 관련 작업의 타입화된 오류 처리 및 오류 매핑을 위한 기반을 형성합니다. 기본 오류 코드 열거형 PerErrc을(를) 위한 표준화된 타입 별칭 Errc [SWS_PER_00411] 및 모듈별 예외 기본 클래스 PerException을(를) 위한 Exception [SWS_PER_00412]을(를) 통해, 이 클래스는 숫자 오류 값, 의미 있는 오류 메시지 및 구체적인 C++ 예외 객체를 연결합니다. 플랫폼 아키텍처에서 오류 도메인은 영속성 서비스, 호출하는 기능 클러스터, 그리고 ara::core의 일반 오류 및 결과 구조와 긴밀하게 상호작용합니다.

수명 주기

인스턴스 생성은 기본 생성자 PerErrorDomain() [SWS_PER_00313]을(를) 통해 수행됩니다. 이 생성자는 noexcept(으)로 선언되어 있으며, 완벽하게 예외 안전(exception safe)하고 스레드 안전(thread-safe)합니다. 해석: 전체 동작 중에 Persistency 오류에 대한 일관된 도메인 비교 및 타입 확인을 보장하기 위해 PerErrorDomain의 인스턴스는 일반적으로 수명이 긴 객체 또는 전역 객체로 관리될 것으로 추정됩니다. 질문 Q-5d90982fddec40a7 (열림) 클래스의 모든 조회 작업 역시 스레드 안전한 것으로 분류되므로, 호출자 수준에서 추가적인 동기화 메커니즘 없이도 여러 스레드가 동일한 도메인 인스턴스에 병렬로 접근할 수 있습니다.

사용 경로

전형적인 사용 경로는 도메인 식별, 이해하기 쉬운 진단 정보 조회, 그리고 선택적으로 Persistency 모듈에서 발생한 오류에 대한 예외 발생을 포함합니다. 먼저 멤버 함수 Name()은(는) 오류 도메인의 고유 식별자를 문자열로 반환합니다 [SWS_PER_00314]. 이 함수는 noexcept, 예외 안전 및 스레드 안전으로 명세되어 있습니다. Persistency 작업 중 오류가 발생하면 Message()을(를) 통해 해당 숫자 오류 값이 확인됩니다 [SWS_PER_00315]. 이 메서드는 CodeType 타입의 숫자 오류 코드를 받아들이고 완전한 예외 안전성 및 스레드 안전성 보증 하에 관련 오류 메시지를 상수 문자 포인터(const char *)(으)로 반환합니다.

오류 상태를 C++ 예외로 변환해야 하는 경우 ThrowAsException() 함수가 사용됩니다 [SWS_PER_00350]. 다음 시퀀스는 오류 조회 및 예외 발생 시의 상호작용을 보여줍니다:

PerErrorDomain에서의 오류 조회 및 예외 발생애플리케이션PersistenzLaufzeitPerErrorDomain영속성 작업 실행()오류 코드 / Result 반환Message(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]에 따라 오버로드 확인에 참여하지 않습니다. 이러한 환경에서는 애플리케이션 소프트웨어가 Exception [SWS_PER_00412] 타입의 예외 객체를 잡는 대신 제공된 별칭 Errc [SWS_PER_00411] 및 Message() [SWS_PER_00315]의 텍스트 설명을 통한 오류 코드 평가를 사용해야 합니다.

이 가이드는 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

상세 보기

개요에서 항목을 선택하세요.

생성자 및 소멸자

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;

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#6b9eef63
Content hash
6b9eef63
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#f68d5f98
Content hash
f68d5f98
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#b7978352
Content hash
b7978352
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#766fefab
Content hash
766fefab
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#0e28d3ce
Content hash
0e28d3ce
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#13eb0dd1
Content hash
13eb0dd1
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