Encapsulation of an error code. An ErrorCode contains a raw error code value and an Error Domain. The raw error code value is specific to this ErrorDomain.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 747258139aa5출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
도메인별 오류 코드 및 추가 데이터를 캡슐화하여 평가하거나 C++ 예외로 변환합니다.
ara::core::ErrorCode 클래스는 도메인별 원시 오류 값을 관련 오류 도메인 및 선택적 컨텍스트 데이터와 함께 캡슐화합니다[SWS_CORE_00513]. 이를 통해 오류 코드 및 설명 텍스트를 예외로부터 안전하게 읽을 수 있을 뿐만 아니라 ThrowAsException()[SWS_CORE_00518], [SWS_CORE_00519]을(를) 통해 필요에 따라 유형별 C++ 예외로 전달할 수 있습니다. C++ 예외가 툴체인 측에서 비활성화된 경우 예외 인터페이스는 오버로드 확인에서 자동으로 제외됩니다[SWS_CORE_00519].
컨텍스트
ara::core::ErrorCode 클래스는 AUTOSAR Adaptive Platform에서 오류 정보의 중앙 캡슐화 역할을 합니다. 오류 코드는 항상 ErrorDomain::CodeType 유형의 도메인별 원시 오류 값을 연관된 오류 도메인 ara::core::ErrorDomain[SWS_CORE_00513]과(와) 묶습니다. 오류 도메인은 원시 값을 해석해야 하는 의미론적 컨텍스트를 정의하고 숫자 코드와 비즈니스 의미 간의 연결을 설정합니다[SWS_CORE_00515]. 또한 ErrorCode은(는) 동적 메모리 할당 없이 오류 발생에 대한 확장된 컨텍스트를 제공하기 위해 ErrorDomain::SupportDataType 유형의 제조업체별 추가 데이터를 수용할 수 있습니다[SWS_CORE_00516].
수명 주기
ErrorCode의 인스턴스화는 열거 가능한 유형을 통하거나 원시 값과 오류 도메인을 명시적으로 지정하여 수행됩니다. 형식 안전 열거형 값의 경우 인수가 C++ 열거형 유형인 경우에만 SFINAE를 통해 오버로드 확인에 참여하는 생성자 템플릿이 존재합니다[SWS_CORE_00512]. 대안으로 직접 생성자는 숫자 원시 값, 담당 ErrorDomain에 대한 참조 및 선택적 추가 데이터를 허용합니다[SWS_CORE_00513].
독립적인 오류 시나리오는 명시적으로 noexcept(false) 및 not exception safe(으)로 선언된 ThrowAsException() 메서드입니다[SWS_CORE_00519]. 이 동작은 호출 this->Domain().ThrowAsException(*this)에 해당합니다. 즉, 연결된 ErrorDomain을(를) 통해 적절한 예외 유형을 확인하고 현재 ErrorCode 인스턴스를 캡슐화하는 예외를 발생시킵니다[SWS_CORE_00519]. 중요한 제약 조건 중 하나는 컴파일러 툴체인에서 C++ 예외가 비활성화된 경우 ThrowAsException()이(가) 오버로드 확인에 참여하지 않는다는 것입니다[SWS_CORE_00519].
AUTOSAR Adaptive Platform R25-11을 기반으로 autodocs-AI에 의해 생성되었습니다.
Construct a new ErrorCode instance with parameters
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: aa921d126307출처열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
템플릿 생성자 ErrorCode은(는) 헤더 파일 ara/core/error_code.h의 클래스 ara::core::ErrorCode 내에서 오류 설명을 동기적으로 인스턴스화합니다 [SWS_CORE_00512]. 이 생성자는 열거형 타입 EnumT의 도메인 고유 오류 코드 값 e 및 기본적으로 비어 있는 상태로 초기화되는 ErrorDomain::SupportDataType 타입의 선택적 공급업체 고유 추가 데이터 data을(를) 받습니다 [SWS_CORE_00512]. 주요 제한 사항으로, 생성자는 SFINAE를 통해 EnumT이(가) 실제로 열거형 타입인 경우에만 오버로드 확인(overload resolution)에 참여합니다 [SWS_CORE_00512]. 명시적 도메인 전달을 사용하는 대체 오버로드 [SWS_CORE_00513]과(와) 달리, 적절한 ErrorDomain(으)로의 할당은 타입 EnumT을(를) 기반으로 암시적으로 도출될 것으로 추정됩니다. 질문 Q-83bc8268971748ff (열림)
동시성 및 오류 안전성과 관련하여, 생성자는 스레드 안전(thread-safe) 및 완전한 예외 안전(exception safe)(으)로 명시되어 있으며 noexcept(으)로 선언되어 있습니다 [SWS_CORE_00512]. constexpr 한정자를 통해 컴파일 타임에 상수 표현식에서 이미 인스턴스화가 수행될 수 있습니다 [SWS_CORE_00512]. 생성에 대해 특정 DET 또는 DEM 오류 메시지는 정의되어 있지 않습니다. 표현된 오류가 추가 제어 흐름에서 예외로 신호되어야 하는 경우, 생성된 인스턴스는 적절한 예외 타입을 확인하고 발생시키는 메서드 ThrowAsException()을(를) 제공하며 [SWS_CORE_00519], 이에 상응하여 오류 도메인도 예외를 직접 발생시킬 수 있습니다 [SWS_CORE_00154].
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f7a24bdeeedd출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
헤더 #include "ara/core/error_code.h"에 정의된 클래스 ara::core::ErrorCode의 멤버 함수 SupportData()은(는) 오류에 대한 보충 컨텍스트 데이터를 반환합니다 [SWS_CORE_00516]. 이 메서드는 인스턴스에서 동기적으로 호출되며, 매개변수가 필요하지 않고 ErrorDomain::SupportDataType 타입의 값을 반환합니다 [SWS_CORE_00516]. constexpr 및 noexcept(으)로 선언되어 있으므로 호출 시 예외가 발생하지 않음이 보장되며 컴파일 타임에 이미 평가될 수 있습니다 [SWS_CORE_00516].
동시성 및 실행 안전성과 관련하여, 이 메서드는 스레드 안전(thread-safe) 및 예외 안전(exception safe)(으)로 명시되어 있습니다 [SWS_CORE_00516]. 내부 오류 컨텍스트에 대한 읽기 접근이므로 오류 상태가 발생하지 않아, 중요하고 동시적인 실행 경로에도 이 호출이 적합합니다 [SWS_CORE_00516].
오류 처리의 다른 인터페이스와의 상호작용에서 SupportData()은(는) 매개변수 data을(를) 통해 ErrorCode의 생성자에 선택적으로 전달된 공급업체 고유 추가 데이터를 읽습니다 [SWS_CORE_00513]. operator==을(를) 사용하여 두 오류 코드를 비교할 때, 인스턴스는 오직 Value() 및 Domain()의 반환값을 기반으로 해서만 동일한 것으로 평가되며, SupportData()의 반환값은 동등성 비교에 명시적으로 사용되지 않는다는 점에 유의해야 합니다 [SWS_CORE_00571].
이 사용 참고사항은 AUTOSAR Adaptive R25-11 명세를 기반으로 자동 생성되었습니다.
This function will determine the appropriate exception type for this ErrorCode and throw it. The thrown exception will contain this ErrorCode.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 3205bd108ecb출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
ara::core::ErrorCode 클래스의 멤버 함수 ThrowAsException은(는) 발생한 오류를 C++ 예외로서 동기식으로 발생시키는 데 사용됩니다([SWS_CORE_00519]). 예외 발생에 의해 정규 제어 흐름이 중단되므로, 이 함수는 전달 매개변수를 받지 않으며 반환값이 없습니다.
구체적인 예외 타입을 결정하기 위해 메서드는 this->Domain().ThrowAsException(*this) 동작에 따라 할당된 오류 도메인으로 발생 처리를 위임합니다([SWS_CORE_00519]). 기본 클래스 ara::core::ErrorDomain의 인터페이스를 통해([SWS_CORE_00154]) 각 도메인은 [SWS_CORE_10953]의 지정에 따라 적절한 예외 타입을 결정합니다. 발생된 예외는 항상 이를 유발한 ErrorCode 인스턴스를 포함합니다. 구체적인 도메인은 이를 특정하여 구현합니다:
ara::core::FutureErrorDomain은(는) 전달된 오류 인스턴스와 함께 FutureException을(를) 발생시킵니다([SWS_CORE_00444]).
동시성 및 제약 조건과 관련하여 ThrowAsException은(는) 스레드 안전한 것으로 명시되어 있습니다([SWS_CORE_00519]). 예외 안전성은 not exception safe로 선언되어 있으며 시그니처에는 명시적으로 noexcept(false)이(가) 표시되어 있습니다([SWS_CORE_00519]). 툴체인의 주요 제한 사항은 컴파일러에서 C++ 예외가 비활성화된 경우 해당 함수가 오버로드 확인에 참여하지 않는다는 점입니다([SWS_CORE_00519]).
Any exception of the type determined by the associated ErrorDomain as defined in [SWS_CORE_10953]
Hinweise: This function shall not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain. Behaves as if this->Domain().ThrowAsException(*this).
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문