DEENESPTFRRUARHIKOZHNL

클래스 ara::diag::DiagSovdException

[SWS_DM_01807] Upstream: RS_AP_00119

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

Exception type for SOVD thrown by Diag classes.

Header-Datei#include "ara/diag/diag_sovd_error_domain.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag
Basisklasse(n)ara::core::Exception

사용자 가이드AI 생성

호출자에게 연관된 오류 코드를 갖는 예외 안전한 Exception 형태로 SOVD 관련 진단 오류를 신호합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 58783cae6416 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

호출자에게 연관된 오류 코드를 갖는 예외 안전한 Exception 형태로 SOVD 관련 진단 오류를 신호합니다.

클래스 ara::diag::DiagSovdException은 Service-Oriented Vehicle Diagnostics (SOVD)를 위한 특수화된 예외 타입 역할을 하며, 오류 신호를 위해 모듈 diag의 진단 클래스에 의해 발생됩니다[SWS_DM_01807]. 이는 ara::core::Exception에서 파생되며, 오류 상황 시 C++ 스택 해제를 통해 호출 컨텍스트로 오류 정보를 전달하기 위해 ara::core::ErrorCode로 명시적으로 인스턴스화됩니다[SWS_DM_01808]. 핵심 제약 조건으로 생성자가 noexcept로 지정되어 있어 객체 생성 시 완전한 예외 안전성과 스레드 안전성을 보장합니다.

컨텍스트

클래스 ara::diag::DiagSovdException은 AUTOSAR Adaptive Platform의 진단 모듈에서 Service-Oriented Vehicle Diagnostics (SOVD)를 위한 핵심 예외 타입을 나타냅니다([SWS_DM_01807], SWS Diagnostics §8.51.4 “Class: DiagSovdException”). 내부 진단 클래스에 의해 발생되어 SOVD 요청을 처리하는 동안 발생하는 특정 오류 상태를 표시합니다([SWS_DM_01807], SWS Diagnostics, 69쪽).

이 클래스는 일반 기본 예외 ara::core::Exception에서 공개적으로 파생됩니다([SWS_DM_01807], SWS Diagnostics §8.51.4). 직접적인 상호작용 대상에는 진단 요청을 분석하고 오류 발생 시 예외를 발생시키는 모듈 diag의 기능 진단 클래스와, 이러한 예외를 포착하여 처리해야 하는 호출 애플리케이션 소프트웨어가 포함됩니다. 이 클래스는 상위 아키텍처 요구사항을 충족하기 위해 헤더 ara/diag/diag_sovd_error_domain.h에 선언되어 있습니다([SWS_DM_01808], SWS Diagnostics §8.51.4.1.1.1 “DiagSovdException”).

수명 주기

ara::diag::DiagSovdException의 인스턴스화는 매개변수 err로 ara::core::ErrorCode를 필수적으로 받는 생성자를 통해 수행됩니다([SWS_DM_01808], SWS Diagnostics §8.51.4.1.1.1). 이 생성자는 오류 코드가 예외 객체로 암시적으로 변환되는 것을 방지하기 위해 explicit로 선언되었으며, noexcept로 표시되어 있습니다([SWS_DM_01808]).

견고성과 동시성과 관련하여, 사양은 생성이 완전히 예외 안전(exception safe)하고 스레드 안전([SWS_DM_01808])함을 보장합니다. 따라서 동시 진단 시나리오에서도 오류 생성 자체가 추가적인 예외나 불일치를 유발하지 않도록 보장됩니다. 예외의 수명 주기는 표준 C++ 스택 해제를 따릅니다. 객체는 오류 발생 시 진단 함수 내에서 생성되고, 호출 레벨을 거쳐 전달되며, 처리하는 catch 블록을 벗어날 때 결정론적으로 소멸됩니다.

사용 경로

ara::diag::DiagSovdException을(를) 사용할 때의 일반적인 흐름은 다음 단계로 나뉩니다:

  • 애플리케이션이 모듈 diag의 인터페이스에서 SOVD 관련 진단 작업을 시작합니다.
  • 담당 진단 컴포넌트가 오류 조건을 확인하고 SOVD 오류 도메인에서 적절한 ara::core::ErrorCode를 생성합니다([SWS_DM_01808]).
  • 컴포넌트는 explicit DiagSovdException(err)를 사용하여 예외를 구성하고 이를 던집니다([SWS_DM_01808], [SWS_DM_01807]).
  • 애플리케이션은 오류 상태에 대응하기 위해 catch (const ara::diag::DiagSovdException& ex) 또는 const ara::core::Exception&를 통한 다형성 방식으로 예외를 포착합니다.
DiagSovdException을 사용한 예외 처리 흐름애플리케이션DiagnoseklasseDiagSovdExceptionSOVD 진단 호출 수행SOVD-Fehlerbedingung feststellenara::core::ErrorCode erzeugenDiagSovdException(err) konstruierenthrow DiagSovdExceptioncatch (const DiagSovdException& ex)오류 분석 및 처리

시퀀스 다이어그램: DiagSovdException 트리거 시 호출 및 처리 순서. 출처: [SWS_DM_01807], [SWS_DM_01808].

오류 시나리오

오류 전달자로서 클래스 자체는 예외 상태를 처리하는 역할을 합니다([SWS_DM_01807]). 생성을 위한 정식 사전 조건은 초기화된 ara::core::ErrorCode의 제공입니다([SWS_DM_01808]). 생성자가 noexcept로 선언되어 있으므로 객체 생성 자체에서는 예외가 발생하지 않습니다([SWS_DM_01808]).

해석: 해당 인스턴스는 전달된 오류 코드를 영구적으로 캡슐화하여 후속 오류 핸들러가 ara::core::Exception의 상속된 함수를 통해 이를 검사할 수 있도록 하는 것으로 추정됩니다. 질문 Q-332b95b96849e379 (열림) C++ 예외가 비활성화된 시스템 구성에서는 진단 컴포넌트가 대체 오류 메커니즘을 선호할 수 있는 반면, DiagSovdException은 예외 처리를 위한 전용 경로를 나타냅니다.

이 가이드는 AUTOSAR Adaptive Platform R25-11 사양을 기반으로 하며 SOVD의 예외 처리 요구사항을 요약합니다.

UML 클래스 다이어그램

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

G nara__diag__DiagSovdException335 DiagSovdException + DiagSovdException() nara__core__Exception792 Exception nara__diag__DiagSovdException335->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

생성자 및 소멸자

Construct a new DiagSovdException from an ErrorCode.

explicit DiagSovdException (ara::core::ErrorCode err) noexcept;

메서드 문서

함수 DiagSovdException [SWS_DM_01808] Upstream: RS_AP_00119

explicit DiagSovdException (ara::core::ErrorCode err) noexcept;

Construct a new DiagSovdException from an ErrorCode.

Header-Datei#include "ara/diag/diag_sovd_error_domain.h"
Scopeclass ara::diag::DiagSovdException
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
errthe ErrorCode

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

Record
AUTOSAR/AP/record/SWS_DM_01808
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01808@rel:R25-11#c999e107
Content hash
c999e107
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01808
Status: valid/unmigrated Version: rel:R25-11#e8244057 Versionshistorie & Revisions (1 transition, 4 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_DM_01808@rel:R25-11#e8244057
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#76e1ec2d2026-09-30
  • R23-11rel:R23-11#62167f502026-10-14
  • R24-11rel:R24-11#e82440572026-10-14
  • R25-11rel:R25-11#e82440572026-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