DEENESPTFRRUARHIKOZHNL

클래스 ara::exec::ExecException

[SWS_EM_02282] Upstream: RS_AP_00130, RS_AP_00122, RS_AP_00127, RS_AP_00154, RS_AP_00150, RS_AP_00140

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

Defines a class for exceptions to be thrown by the Execution Management.

Header-Datei#include "ara/exec/exec_error_domain.h"
Forwarding-Header#include "ara/exec/exec_fwd.h"
Scopenamespace ara::exec
Basisklasse(n)ara::core::Exception

사용자 가이드AI 생성

동기식 오류 처리를 위해 Execution Management의 오류 코드를 C++ 예외로 캡슐화합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: e102ca6cc8ed 출처 열린 질문 (3)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기식 오류 처리를 위해 Execution Management의 오류 코드를 C++ 예외로 캡슐화합니다.

클래스 ara::exec::ExecException은 C++ 예외 메커니즘을 통해 모듈별 오류를 캡슐화하고 알리기 위한 Execution Management의 최종 예외 클래스 역할을 합니다. 오류 발생 시 ara::core::ErrorCode을 지정하여 스레드 안전한 생성자를 통해 인스턴스가 생성되고 발생(throw)되며, 호출 지점에서는 이를 가로채 분석합니다 [SWS_EM_02283]. 근본적인 제약 조건으로 생성이 noexcept로 지정되어 있어 객체 생성이 예외에 안전함이 보장됩니다 [SWS_EM_02283]. 처리되지 않은 예외는 시스템 종료로 이어지므로 반드시 방지해야 합니다.

컨텍스트

클래스 ara::exec::ExecException은 AUTOSAR Adaptive Platform 내 Execution Management(exec) 모듈의 핵심 예외 클래스입니다. 명세에 따르면 이 클래스는 Execution Management에서 발생한 예외를 캡슐화하는 역할을 합니다. 클래스 선언에서는 이를 표준 기본 예외 클래스 ara::core::Exception으로부터 공개 상속받은 final로 정의하며, 이를 통해 Adaptive Platform의 통합 예외 및 오류 처리 개념에 매끄럽게 포함됩니다. 식별자 final로 인해 추가적인 특수화 또는 서브클래스화는 제외됩니다.

해당 예외 클래스는 헤더 #include "ara/exec/exec_error_domain.h"에서 선언됩니다 [SWS_EM_02283]. ara::exec::ExecException의 주요 기능적 책임은 C++ 예외 메커니즘을 통해 모듈별 오류 상태를 전달하는 데 있습니다. 해석: 이 예외를 발생시키는 것은 주로 Execution Management의 오류 상태가 순수하게 값 기반 오류 유형으로만 전파되지 않고 C++ 예외를 통한 동기식 제어 흐름 중단이 필요한 실행 환경에서 적용될 것으로 보입니다. 질문 Q-8faec8c282524965 (열림)

수명 주기

ara::exec::ExecException 인스턴스의 라이프사이클은 오류 코드를 전달받아 명시적으로 생성하는 것으로 시작됩니다. 생성자 explicit ExecException(ara::core::ErrorCode errorCode) noexcept은 전달된 오류 코드를 캡슐화하는 새 예외 객체를 생성합니다 [SWS_EM_02283]. noexcept 표시를 통해 객체 생성 자체가 기존 오류 처리 컨텍스트 내에서도 실패하지 않고 연쇄적인 후속 오류를 유발하지 않음이 보장됩니다 [SWS_EM_02283].

실행 안전성과 관련하여 생성은 예외에 안전(“exception safe”)하고 스레드 안전(“thread-safe”)한 것으로 명시적으로 분류됩니다 [SWS_EM_02283]. 이를 통해 추가적인 동기화 메커니즘 없이도 여러 스레드에 걸쳐 예외 인스턴스를 안정적으로 생성할 수 있습니다. throw을 통해 발생한 후 객체는 C++ 런타임 시스템의 관리로 넘어갑니다. 해석: 예외 객체의 소멸은 정규 스택 해제 과정에서 처리 catch 블록을 벗어난 후 자동으로 이루어지므로, 호출자에 의한 명시적인 라이프사이클 관리는 필요하지 않을 것으로 보입니다. 질문 Q-ec22ad5f177555aa (열림)

사용 경로

ara::exec::ExecException의 일반적인 사용 경로는 Execution Management 내에서 오류 발생 시 인스턴스화하고 호출 애플리케이션 컨텍스트에서 제어된 방식으로 가로채는 과정을 포함합니다:

  • 오류 식별 및 인스턴스화: Execution Management에서 예외 조건이 발생하면 원인이 관련 오류 도메인의 ara::core::ErrorCode에 매핑되고 ara::exec::ExecException의 명시적 초기화에 사용됩니다 [SWS_EM_02283].
  • 신호 전달: 초기화된 예외 인스턴스가 발생(throw)되어 일반 실행 경로가 중단되고 스택 해제가 시작됩니다.
  • 가로채기: 호출 컴포넌트는 예외 객체를 const ara::exec::ExecException&으로 특정하여 가로채거나 다형성 기본 클래스 const ara::core::Exception&을 통해 보다 일반적으로 가로챕니다.
  • 평가: 해석: 객체가 ara::core::ErrorCode을 사용하여 생성되었고 [SWS_EM_02283] ara::core::Exception를 상속하므로, 수신자는 모듈별 복구 또는 로깅 조치를 수행하기 위해 기본 클래스의 인터페이스를 통해 포함된 오류 코드를 추출할 것으로 보입니다. 질문 Q-d4671c34f5aab6f9 (열림)

오류 시나리오

특수화된 예외 클래스로서 ara::exec::ExecException은 자체 사용 시 새로운 오류를 유발하지 않으면서 기존 오류 상황을 매핑하도록 설계되었습니다. 생성을 위해 생성자는 ara::core::ErrorCode의 전달을 요구합니다 [SWS_EM_02283]. 생성자가 noexcept로 선언되어 있으므로 예외 객체 생성을 방해할 수 있는 인스턴스화 시의 사전 조건 오류는 배제됩니다 [SWS_EM_02283].

시스템 수준에서의 주요 오류 시나리오는 발생된 예외를 불완전하게 가로채는 데 있습니다. ara::exec::ExecException에 의해 발생한 예외가 호출 계층을 따라 처리되지 않고 남아 있으면 표준 C++ 런타임 처리가 적용되어 일반적으로 std::terminate 호출로 이어지고 이에 따라 프로세스가 조기 중단됩니다. 따라서 상호 작용하는 소프트웨어 컴포넌트는 Execution Management의 잠재적으로 예외를 발생시키는 함수에 대한 호출이 적절한 try-catch 블록으로 보호되도록 보장해야 합니다.

이 가이드는 AUTOSAR Adaptive Platform R25-11 사양을 기반으로 AI에 의해 생성되었습니다.

UML 클래스 다이어그램

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

G nara__exec__ExecException556 ExecException + ExecException() nara__core__Exception792 Exception nara__exec__ExecException556->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

생성자 및 소멸자

Constructs a new ExecException object containing an error code.

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

메서드 문서

함수 ExecException [SWS_EM_02283] Upstream: RS_AP_00120, RS_AP_00121, RS_AP_00130, RS_AP_00159

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

Constructs a new ExecException object containing an error code.

Header-Datei#include "ara/exec/exec_error_domain.h"
Scopeclass ara::exec::ExecException
Exception-Sicherheitexception safe
Thread-Sicherheitthread-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_EM_02283
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_EM_02283@rel:R25-11#b8d5ea82
Content hash
b8d5ea82
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_ExecutionManagement.pdf#nameddest=SWS_EM_02283
Status: valid/unmigrated Version: rel:R25-11#f57f2491 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_EM_02283@rel:R25-11#f57f2491
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#7afdb8d92026-09-30
  • R19-11rel:R19-11#5683c5ea2026-10-14
  • R20-11rel:R20-11#1a1c4d242026-10-14
  • R21-11rel:R21-11#1a1c4d242026-10-14
  • R22-11rel:R22-11#49bf1b972026-10-14
  • R23-11rel:R23-11#4052ff1d2026-10-14
  • R24-11rel:R24-11#8fa7f4222026-10-14
  • R25-11rel:R25-11#f57f24912026-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