Encapsulation of an ErrorDomain. An ErrorDomain is the controlling entity for ErrorCode’s error code values, and defines the mapping of such error code values to textual representations. This type constitutes a base class for ErrorDomain implementations. This class is a literal type, and subclasses are strongly advised to be literal types as well.
오류 코드를 제어하기 위한 기본 클래스 역할을 하며 도메인 특정 오류 값을 텍스트 메시지에 매핑합니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: d0712f7c0a23출처열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
오류 코드를 제어하기 위한 기본 클래스 역할을 하며 도메인 특정 오류 값을 텍스트 메시지에 매핑합니다.
클래스 ara::core::ErrorDomain은 오류 값을 제어하기 위한 추상 기본 클래스 역할을 하며 도메인 특정 코드를 해당 텍스트 표현에 매핑합니다 [SWS_CORE_00153]. 서브클래스는 시스템 전체에서 고유한 식별 번호를 캡슐화하고 불변 오류 텍스트로의 변환 및 타입별 예외 처리를 정의합니다. 컴파일 타임에 리터럴 타입(Literal Type)으로 사용할 수 있도록 기본 클래스는 비가상 보호 소멸자를 가집니다 [SWS_CORE_00136]. 이때 복사 및 이동 연산은 완전히 금지되므로 인스턴스는 불변 식별자로 기능합니다.
컨텍스트
ara::core::ErrorDomain 클래스는 AUTOSAR Adaptive Platform에서 구조화된 오류 관리의 공통 기반을 형성합니다. 이 클래스는 구체적인 오류 도메인을 위한 추상 기본 클래스로 동작하며, ara::core::ErrorCode에 캡슐화되는 오류 값에 대한 중앙 제어 책임을 담당합니다. 각 도메인은 자체 네임스페이스를 생성하고, Message()([SWS_CORE_00153])를 통해 CodeType([SWS_CORE_00122]) 타입의 도메인별 오류 값을 의미 있는 텍스트 표현으로 매핑하는 규칙을 정의합니다. 또한 이 클래스는 시스템 전역에서 고유한 도메인 식별자를 위한 타입 별칭 IdType([SWS_CORE_00121]) 및 공급업체별 추가 데이터를 위한 SupportDataType([SWS_CORE_00123])을 제공합니다.
전체 시스템에서 ara::core::ErrorDomain은(는) 세 가지 주요 대상과 상호작용합니다:
서브클래스: 특정 오류 도메인은 ara::core::ErrorDomain을 상속하며, 도메인 이름, 오류 메시지 및 예외 처리를 위한 순수 가상 멤버 함수를 구현합니다.
ara::core::ErrorCode: 구체적인 오류 값을 나타내며 설명 텍스트 결정을 할당된 오류 도메인에 위임합니다.
ara::core::ErrorDomain의 인스턴스화는 보호됩니다. 생성자는 protected 가시성을 가지며 IdType([SWS_CORE_00135]) 타입의 시스템 전역에서 고유한 도메인 식별자를 필요로 합니다. 생성자가 constexpr 및 noexcept로 선언되어 있으므로, 기본 클래스는 컴파일 타임에 Literal Type으로서의 생성을 지원합니다. 서브클래스 역시 이러한 Literal Type 특성을 보장할 것이 명시적으로 권장됩니다.
소멸자는 protected로 선언되고 기본 구현([SWS_CORE_00136])으로 정의됩니다. 클래스가 Literal Type으로 유지될 수 있도록 의도적으로 사소하며(trivial) 비가상으로 유지됩니다. ara::core::ErrorDomain가 순수 가상 인터페이스를 제공하지만, 기본 클래스 포인터를 통한 다형적 소멸은 필요하지 않습니다([SWS_CORE_00136]). 실제 환경에서 구체적인 도메인 인스턴스는 수명이 긴 객체 또는 정적 객체로 관리될 것입니다(해석). 질문 Q-a874dd64f6320d21 (열림)
도메인 식별: 클라이언트 또는 오류 객체는 Name()([SWS_CORE_00152])을 통해 도메인 이름을 널 종료 문자열로 확인합니다.
메시지 확인:Message(errorCode)을 통해 숫자 오류 값이 도메인에 전달됩니다([SWS_CORE_00153]). 도메인은 포인터 기반의 널 종료 오류 텍스트를 반환하며, 이는 결코 nullptr가 아닙니다.
예외 처리: 오류 코드를 예외로 변환해야 하는 경우 클라이언트는 ThrowAsException(errorCode)을 호출합니다([SWS_CORE_00154]). 그러면 도메인은 전달된 오류 코드를 캡슐화하는 적절한 ara::core::Exception 인스턴스를 발생시킵니다.
ara::core::ErrorDomain을 다룰 때 다음과 같은 오류 시나리오 및 인터페이스 요구사항을 고려해야 합니다:
잘못된 도메인 소속:Message() 메서드에 특정 ErrorDomain에서 비롯되지 않은 errorCode이 전달되는 경우, 이는 명시된 위반 사항인 WrongDomainOfAn-ErrorCodeViolation에 해당합니다([SWS_CORE_00153]). 호출자는 오류 코드가 도메인 인스턴스와 일치함을 보장해야 합니다.
비활성화된 C++ 예외:ThrowAsException() 메서드는 예외 안전하지 않으며(not exception safe) 예외를 발생시킵니다([SWS_CORE_00154]). 컴파일러 툴체인에서 C++ 예외가 비활성화된 경우, 이 함수는 오버로드 확인에 참여해서는 안 됩니다([SWS_CORE_00154]).
널 포인터 배제:Name()과 Message() 모두 결코 nullptr를 반환해서는 안 됩니다([SWS_CORE_00152], [SWS_CORE_00153]). nullptr를 반환하는 서브클래스 구현은 인터페이스 사양을 위반합니다.
본 가이드는 AUTOSAR 명세 R25-11을 기반으로 AI 큐레이션 어시스턴트에 의해 생성되었습니다.
Compare for equality with another ara::core::ErrorDomain instance. Two ara::core::ErrorDomain instances compare equal when their identifiers (returned by Id()) are equal
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 59f6b727c495출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
헤더 파일 ara/core/error_domain.h에 있는 클래스 ara::core::ErrorDomain의 멤버 함수 Id()은(는) 해당 오류 도메인의 고유 식별자를 동기적으로 반환합니다([SWS_CORE_00151]). 호출은 전달 매개변수를 요구하지 않으며 도메인 식별자를 IdType 유형의 값으로 반환하여 전체 시스템에서 서로 다른 오류 도메인의 명확한 구분을 보장합니다.
오류 처리와 관련하여, 이 함수는 noexcept(으)로 선언되어 있으며 exception safe(으)로 분류된다는 점이 중요합니다([SWS_CORE_00151]). 따라서 결코 예외를 발생시키지 않으며 오류 코드나 특수 사례를 보고하지도 않습니다. constexpr 메서드라는 특성 덕분에 필요한 경우 식별자를 컴파일 타임에 평가하여 상수 표현식에서 사용할 수 있습니다.
동시성 및 호출 조건과 관련하여 Id()은(는) thread-safe(으)로 명시되어 있습니다([SWS_CORE_00151]). 호출은 상태를 갖지 않으며(stateless) 변경을 유발하는 부작용이 없으므로, 외부 잠금 메커니즘 없이도 얼마든지 많은 스레드가 동일한 인스턴스에 동시에 접근할 수 있습니다.
도메인 아키텍처 내의 상호작용에서 식별자는 기본 비교 기준을 형성합니다. 사양에 따르면 두 ara::core::ErrorDomain 인스턴스는 Id()이(가) 반환하는 식별자가 일치하는 경우에만 동일한 것으로 간주되며, 이는 동등 연산자 operator==에 의해 직접 구현됩니다([SWS_CORE_00137]).
이 사용법 지침은 AI에 의해 작성되었으며 AUTOSAR Adaptive R25-11을 기반으로 합니다.
Return a textual representation of the given errorCode.
The returned pointer remains owned by the ara::core::ErrorDomain sub-class and shall not be freed by clients.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 9827a3eb35a8출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
헤더 ara/core/error_domain.h에 정의된 기본 클래스 ara::core::ErrorDomain의 순수 가상 함수 Message은(는) 전달된 도메인 고유 오류 코드에 대한 텍스트 표현을 동기적으로 검색하는 역할을 합니다 errorCode[SWS_CORE_00153]. 이 함수는 널로 끝나는 문자열(const char *)에 대한 포인터를 반환하며, 이 포인터는 절대 nullptr이(가) 아님을 보장합니다. 참조된 메모리는 ara::core::ErrorDomain의 해당 서브클래스 소유로 유지되며, 호출하는 클라이언트가 이를 해제해서는 안 됩니다 [SWS_CORE_00153].
동시성 및 견고성 측면에서 이 메서드는 noexcept(으)로 선언되어 있으며, 예외 안전(exception safe)하고 완전하게 스레드 안전(thread-safe)하도록 설계되었습니다 [SWS_CORE_00153]. 발생 가능한 오류 상태와 관련하여, ara::core::ErrorDomain의 해당 인스턴스에서 생성되지 않은 errorCode은(는) WrongDomainOfAnErrorCodeViolation 유형의 위반을 초래하는 것으로 명시되어 있습니다 [SWS_CORE_00153].
AUTOSAR 오류 처리 모델과의 상호작용에서 ara::core::FutureErrorDomain[SWS_CORE_00443] 및 ara::core::CoreErrorDomain[SWS_CORE_05243]과(와) 같은 구체적인 오류 도메인은 도메인 고유 오류 코드를 구체적인 메시지 텍스트로 변환하기 위해 이 메서드를 오버라이드합니다. 해석: 텍스트 표현을 StringView(으)로 반환하는 ara::core::ErrorCode::Message()[SWS_CORE_00518]와의 상호작용은 ErrorCode이(가) 연결된 오류 도메인의 메서드 Message에게 변환을 위임하는 것을 기반으로 할 것으로 추정됩니다. 질문 Q-f9007fdf5234b6a4 (열림)
This function will determine the appropriate exception type for the given ErrorCode according to [SWS_CORE_10953] and throw it. The thrown exception will contain the given ErrorCode.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f434ab45abb9출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
클래스 ara::core::ErrorDomain의 순수 가상 메서드 ThrowAsException은 전달된 오류 코드를 ara::core::Exception 타입의 예외로서 동기식으로 발생시키는 데 사용됩니다 [SWS_CORE_00154]. 이 함수는 입력 매개변수로 const ErrorCode &errorCode에 대한 참조를 전달받으며, 예외를 던짐으로써 실행이 종료되므로 반환값을 갖지 않습니다 [SWS_CORE_00154].
다른 컴포넌트와의 상호작용에서 이 함수는 오류 객체를 통한 예외 발생의 기반을 형성합니다. 예를 들어 ara::core::ErrorCode::ThrowAsException은(는) this->Domain().ThrowAsException(*this)을(를) 통해 해당 도메인으로 던지기 작업을 위임합니다 [SWS_CORE_00519]. 구체적인 구현체는 CoreErrorDomain의 CoreException[SWS_CORE_05244] 또는 FutureErrorDomain의 FutureException[SWS_CORE_00444]과 같은 특정 예외를 던지기 위해 이 인터페이스를 재정의합니다.
이 텍스트는 AI에 의해 작성되었으며 AUTOSAR Adaptive R25-11 사양을 기반으로 합니다.
Any exception of the type as defined in [SWS_CORE_10953] containing the given ErrorCode
Hinweise: This function shall not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain. As per [SWS_CORE_10304].
Request a governed re-review of this record. The record is not changed immediately.
This dtor is non-virtual (and trivial) so that this class can be a literal type. While this class has virtual functions, no polymorphic destruction is needed.
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문