DEENESPTFRRUARHIKOZHNL

클래스 ara::com::ComException

[SWS_CM_11327] Upstream: RS_AP_00130, RS_AP_00122, RS_AP_00127

class ComException final :            public ara::core::Exception {...};

Defines a class for exceptions to be thrown by the API.

Header-Datei#include "ara/com/com_error_domain.h"
Forwarding-Header#include "ara/com/com_fwd.h"
Scopenamespace ara::com
Basisklasse(n)ara::core::Exception

사용자 가이드AI 생성

오류 코드를 통해 통신 관리 오류를 캡슐화하고 보고하기 위한 API 예외 클래스 역할을 합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: becb2133e102 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

오류 코드를 통해 통신 관리 오류를 캡슐화하고 보고하기 위한 API 예외 클래스 역할을 합니다.

클래스 ara::com::ComException은 AUTOSAR Adaptive에서 통신 API 호출 시 오류를 알리기 위한 핵심 예외 클래스 역할을 합니다 [SWS_CM_11327]. 이는 ara::core::ErrorCode를 캡슐화하며, 실패한 작업 시 인스턴스화되어 던져집니다. 이때 생성자는 예외 안전하고 예외를 던지지 않도록 정의되어 있습니다 [SWS_CM_11328]. 컴파일러 툴체인에서 C++ 예외가 비활성화된 경우, 해당하는 예외를 던지는 API 오버로드는 오버로드 확인(overload resolution)에서 완전히 제외됩니다. 호출자는 예외 객체를 포착하여 포함된 오류 코드를 분석하고 오류 처리 조치를 시작합니다.

컨텍스트

클래스 ara::com::ComException은 AUTOSAR Adaptive Platform의 com 모듈에서 통신 API 호출 시 오류를 알리기 위한 특수 예외 클래스 역할을 합니다 [SWS_CM_11327]. 기본 클래스 ara::core::Exception으로부터 공개 상속받으며 final로 선언되어 있습니다. 이는 Adaptive Platform의 전반적인 오류 처리 아키텍처에 직접 통합됨을 명확히 보여줍니다. final로 표시됨으로써 이 클래스는 추가 상속 계층 구조를 의도하지 않은 봉인된(sealed) 예외 타입으로 설계되었을 것으로 보입니다. 질문 Q-2454b5b73295287b (열림)

ara::com::ComException의 주요 역할은 발생한 오류 상태를 ara::core::ErrorCode의 형태로 캡슐화하고 C++ 예외 메커니즘을 통해 상위 호출 계층에 전달하는 것입니다 [SWS_CM_11328]. 선언과 정의는 헤더 #include "ara/com/com_error_domain.h"을 통해 제공됩니다 [SWS_CM_11328]. 이때 핵심 상호작용 파트너로는 이를 사용하는 애플리케이션 소프트웨어, 통신 관리의 내부 서비스 및 API 함수, 오류 도메인 타입 ara::core::ErrorCode가 있습니다.

수명 주기

ara::com::ComException 객체의 라이프사이클은 통신 관리의 API 함수 구현 내에서 작업이 실패하고 예외가 인스턴스화되어 발생할 때 시작됩니다 AUTOSAR_AP_SWS_CommunicationManagement §8.12.5 “Class: ComException”. 생성은 원인이 된 ara::core::ErrorCode 객체를 받아들이는 명시적 생성자를 통해 이루어집니다 [SWS_CM_11328].

이 생성자는 noexcept으로 선언되어 있으며 exception safe 속성을 갖습니다 [SWS_CM_11328]. 이를 통해 예외 객체 자체의 생성 중에는 추가 예외가 발생할 수 없음이 보장됩니다. throw을 통해 던져진 후, 객체는 호출 계층의 적절한 catch 블록에 바인딩될 때까지 스택 해제(stack unwinding) 과정에서 전달됩니다. 소유권과 관련하여 인스턴스는 처리 블록을 벗어난 후 스택에서 자동으로 소멸됩니다. 이 클래스는 상태 머신 관점에서의 내부 상태 전이를 갖지 않으며, 오류 코드로 초기화된 후 그 상태는 불변으로 유지됩니다.

사용 경로

일반적인 사용 경로는 오류 감지, 예외 발생 및 후속 처리 과정을 설명합니다:

  1. 애플리케이션 함수가 ara::com 인터페이스의 작업을 호출합니다.
  2. 처리 중 오류가 발생하면 API 구현은 연관된 errorCode로부터 ara::com::ComException의 새 인스턴스를 생성하고 이를 던집니다 AUTOSAR_AP_SWS_CommunicationManagement §8.12.5 “Class: ComException”.
  3. 애플리케이션은 적절한 블록에서 예외를 포착합니다. 복사 연산을 방지하기 위해 애플리케이션 측에서의 포착은 상수 참조(const ara::com::ComException&)로 수행되는 것으로 추정됩니다. 질문 Q-5270e026eeac8be7 (열림)
  4. 호출자는 기본 클래스의 인터페이스를 통해 포함된 ara::core::ErrorCode에 접근하여 진단 또는 보상 단계를 수행합니다 [SWS_CM_11328].
ComException을 사용한 예외 처리 흐름애플리케이션ara::com-LaufzeitComExceptionAPI 호출 실행()Kommunikationsfehler erkanntComException(errorCode) instanziierenthrow ComExceptioncatch (const ara::com::ComException&) 및 오류 코드 평가

시퀀스 다이어그램: ara::com::ComException의 오류 감지, 인스턴스화 및 처리 과정. 출처: [SWS_CM_11327], [SWS_CM_11328], AUTOSAR_AP_SWS_CommunicationManagement §8.12.5 “Class: ComException”

오류 시나리오

오류 처리 및 툴체인 구성 컨텍스트에는 다음 조건 및 엣지 케이스가 적용됩니다:

  • 비활성화된 C++ 예외: 컴파일러 툴체인에서 C++ 예외가 비활성화된 경우, ara::com::ComException을 생성하고 던지는 API 함수는 [SWS_CORE_10304]에 따라 오버로드 확인에 참여하지 않습니다 AUTOSAR_AP_SWS_CommunicationManagement §8.12.5 “Class: ComException”. 이 경우 오류를 처리하는 소프트웨어는 대체 반환 메커니즘을 사용합니다.
  • 생성자 타입 안전성: 생성자가 explicit으로 선언되어 있으므로, ara::core::ErrorCode 전달 시 암시적 타입 변환이 차단됩니다 [SWS_CM_11328].
  • 계층적 포착: ara::com::ComException은 ara::core::Exception을 상속하므로, 호출자는 예외를 구체적으로 ara::com::ComException로 처리하거나 기본 클래스에 대한 핸들러를 통해 일반적으로 처리할 수 있습니다.

이 가이드는 AUTOSAR Adaptive R25-11 사양을 기반으로 합니다. 모든 정보와 참조는 제공된 사양 발췌문에만 근거합니다.

UML 클래스 다이어그램

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__com__ComException152 ComException + ComException() nara__core__Exception792 Exception nara__com__ComException152->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

생성자 및 소멸자

Constructs a new ara::com::ComException containing an ara::core::ErrorCode

explicit ComException (ara::core::ErrorCode errorCode) noexcept;

메서드 문서

함수 ComException [SWS_CM_11328] Upstream: RS_AP_00120, RS_AP_00121, RS_AP_00130

explicit ComException (ara::core::ErrorCode errorCode) noexcept;

Constructs a new ara::com::ComException containing an ara::core::ErrorCode

Header-Datei#include "ara/com/com_error_domain.h"
Scopeclass ara::com::ComException
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
errorCodeThe error code.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_11328
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11328@rel:R25-11#103de458
Content hash
103de458
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11328
Status: valid/unmigrated Version: rel:R25-11#5e7d893a 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_CM_11328@rel:R25-11#5e7d893a
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#ffcd75022026-09-30
  • R20-11rel:R20-11#4a6338102026-10-14
  • R21-11rel:R21-11#4a6338102026-10-14
  • R22-11rel:R22-11#17139dec2026-10-14
  • R23-11rel:R23-11#41e9e0262026-10-14
  • R24-11rel:R24-11#94963f6e2026-10-14
  • R25-11rel:R25-11#5e7d893a2026-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