DEENESPTFRRUARHIKOZHNL

클래스 ara::sm::SmException

[SWS_SM_81242] Upstream: RS_AP_00119

class SmException :          public ara::core::Exception {...};

Exception type thrown by State Management.

Header-Datei#include "ara/sm/sm_error_domain.h"
Forwarding-Header#include "ara/sm/sm_fwd.h"
Scopenamespace ara::sm
Basisklasse(n)ara::core::Exception

사용자 가이드AI 생성

치명적인 기능 오류를 C++ 예외로서 전달하고 처리하기 위해 State Management의 오류 코드를 캡슐화합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 72647117def3 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

치명적인 기능 오류를 C++ 예외로서 전달하고 처리하기 위해 State Management의 오류 코드를 캡슐화합니다.

클래스 ara::sm::SmException은(는) State Management의 연산 시 발생하는 예외 상황을 전달하는 데 사용됩니다 [SWS_SM_81242]. 이는 ara::core::Exception에서 파생되며, 발생한 오류 원인의 정확한 식별을 위해 특정 ara::core::ErrorCode을(를) 캡슐화합니다. 이 클래스의 생성은 스레드 안전하고 예외 안전한 것으로 명시된 명시적 생성자를 통해 이루어집니다 [SWS_SM_81243]. 호출하는 애플리케이션은 포함된 오류 코드를 분석하고 적절한 복구 조치를 시작하기 위해 객체를 구조적으로 포착(catch)합니다.

컨텍스트

클래스 ara::sm::SmException은(는) AUTOSAR Adaptive Platform의 기능 클러스터 State Management를 위한 핵심 예외로 기능합니다 [SWS_SM_81242]. 헤더 ara/sm/sm_error_domain.h에 정의되어 있으며 기본 플랫폼 예외 클래스 ara::core::Exception에서 공개적으로 파생됩니다 AUTOSAR_AP_SWS_StateManagement §8.1.4 “Class: SmException”. 문서 내에서 해당 클래스의 사양은 DRAFT 상태로 관리됩니다 [SWS_SM_81242].

아키텍처 관점에서 이 클래스는 세 가지 핵심 역할을 연결합니다: 상태 연산 실패 시 트리거하는 인스턴스로서의 State Management, 처리자(handler)로서 호출하는 Adaptive 애플리케이션, 그리고 오류 처리를 위한 공통 인터페이스를 제공하는 ara::core의 기본 인프라입니다. 오류 상태의 전달체로서, 모듈 sm의 오류 상황을 C++ 예외 메커니즘을 통해 상위 제어 인스턴스로 동기적으로 전달하는 역할을 합니다.

수명 주기

ara::sm::SmException의 인스턴스화는 생성자 SmException(ara::core::ErrorCode errorCode) [SWS_SM_81243]을(를) 통해 명시적으로 수행됩니다. 이 생성자는 noexcept(으)로 선언되어 있으며 예외 안전성(exception safe)과 스레드 안전성(thread-safe) 특성을 모두 가집니다 AUTOSAR_AP_SWS_StateManagement §8.1.4.1.1.1 “SmException”. 이를 통해 동시 실행 컨텍스트에서 생성되더라도 예외 객체 생성 자체가 실패하거나 추가 예외를 발생시키지 않음이 보장됩니다.

생성 후 인스턴스는 일반적으로 값으로(by value) 던져지며, 호출 컨텍스트에서 상수 객체에 대한 참조(const ara::sm::SmException& 또는 다형적으로 const ara::core::Exception&)로 포착됩니다. 사양에 특정 소멸자나 수동 정리 루틴이 명시되어 있지 않으므로, 해석상 예외 객체의 소멸은 담당 처리 블록을 벗어나는 즉시 표준 C++ 시맨틱과 기본 클래스 ara::core::Exception의 메커니즘을 완전히 따를 것으로 보입니다. 질문 Q-85b1fd2f6082db8e (열림)

사용 경로

일반적인 흐름은 애플리케이션 또는 플랫폼 컴포넌트가 State Management에 상태 제어 요청을 전달하는 것으로 시작됩니다. 요청된 상태 변경을 내부적으로 완료할 수 없거나 중대한 예외 오류가 있는 경우, State Management는 해당 ara::core::ErrorCode [SWS_SM_81243]을(를) 지정하여 ara::sm::SmException의 인스턴스를 인스턴스화합니다.

SmException을 통한 오류 알림애플리케이션State ManagementSmException상태 요청 실행Fehler identifizieren (ErrorCode)SmException(errorCode)Instanz bereitgestelltthrow SmExceptioncatch (const SmException&) 및 오류 코드 평가

시퀀스 다이어그램: State Management에서 SmException을 사용한 일반적인 오류 신호 전달 및 처리. 출처: [SWS_SM_81242], [SWS_SM_81243].

호출 컴포넌트는 발생한 예외를 해당 catch 블록에서 포착합니다. 기본 클래스 ara::core::Exception에서 상속된 메서드를 통해 애플리케이션은 캡슐화된 ara::core::ErrorCode을(를) 검사하여 오류 원인을 의미론적으로 매핑하고, 오류 수정 또는 시스템 상태 복구를 위한 맞춤형 조치를 시작할 수 있습니다.

오류 시나리오

클래스 ara::sm::SmException 자체는 오류가 발생하기 쉬운 연산 요소를 나타내지 않으며, State Management 내에서 예외 상황을 위한 기본 전달체 객체입니다 [SWS_SM_81242]. 생성을 위한 필수 전제 조건은 생성자 호출 시 초기화된 ara::core::ErrorCode 객체를 제공하는 것입니다 [SWS_SM_81243].

던져진 ara::sm::SmException이(가) 호출 스택에서 일치하는 핸들러에 의해 포착되지 않으면, C++ 표준 규칙에 따라 std::terminate이(가) 호출되어 해당 프로세스가 통제되지 않은 채 중단됩니다. ara::core::Result을(를) 선호하여 예외를 배제하도록 규정하는 구현에서는 throw가 방지되지만, 예외 경로가 사용 가능한 경우 캡슐화를 통해 원래 오류 코드가 왜곡 없이 오류 진단으로 전달되도록 보장합니다.

이 클래스 가이드는 AUTOSAR Adaptive R25-11 사양을 기반으로 합니다. 모든 정보는 참조된 사양 항목을 바탕으로 합니다.

UML 클래스 다이어그램

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

G nara__sm__SmException872 SmException + SmException() nara__core__Exception792 Exception nara__sm__SmException872->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

생성자 및 소멸자

Construct a new StateManagement exception object containing an error code.

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

메서드 문서

함수 SmException [SWS_SM_81243] Upstream: RS_AP_00119, RS_AP_00159

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

Construct a new StateManagement exception object containing an error code.

Header-Datei#include "ara/sm/sm_error_domain.h"
Scopeclass ara::sm::SmException
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_SM_81243
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_81243@rel:R25-11#f4952cf3
Content hash
f4952cf3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_81243
Status: valid/unmigrated Version: rel:R25-11#aa947f45 Versionshistorie & Revisions (1 transition)
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_SM_81243@rel:R25-11#aa947f45
Point-in-Time History:
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