DEENESPTFRRUARHIKOZHNL

클래스 ara::diag::DiagException

[SWS_DM_00515] Upstream: RS_AP_00119

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

Exception type thrown by Diag classes.

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

사용자 가이드AI 생성

진단 오류 코드를 C++ 예외로 캡슐화하여 상위 함수 호출자에게 전달하는 역할을 합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 61473cb95c98 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

진단 오류 코드를 C++ 예외로 캡슐화하여 상위 함수 호출자에게 전달하는 역할을 합니다.

ara::diag::DiagException 클래스는 AUTOSAR Adaptive Platform([SWS_DM_00515])의 진단 클래스에서 발생하는 오류를 알리기 위한 특수 예외 타입 역할을 합니다. ara::core::ErrorCode를 캡슐화하며 오류 상태를 호출 애플리케이션에 구조화된 방식으로 전달하기 위해 내부 오류 시 발생합니다([SWS_DM_00516]). 생성자는 스레드 안전하며 noexcept를 통해 예외 안전한 것으로 선언되어 있습니다([SWS_DM_00516]).

컨텍스트

ara::diag::DiagException 클래스는 AUTOSAR Adaptive Platform Diagnostics 기능 클러스터의 핵심 예외 타입을 형성합니다(SWS Diagnostics §8.11.4 “Class: DiagException”, [SWS_DM_00515]). 기본 클래스 ara::core::Exception에서 직접 파생되며 예외적인 경우 진단 클래스 내에서 발생하는 오류 상태를 호출자에게 보고하는 역할을 합니다. 주요 상호작용 파트너는 예외 상황을 알리는 ara::diag 내의 제공 진단 클래스와 진단 작업을 요청하고 잠재적인 예외를 포착하는 사용하는 애플리케이션 소프트웨어입니다. 헤더 파일 ara/diag/diag_error_domain.h의 선언을 통해 예외 클래스는 진단별 오류 도메인([SWS_DM_00516])과 직접 연결됩니다.

수명 주기

ara::diag::DiagException의 인스턴스화는 ara::core::ErrorCode 타입의 오류 코드를 생성자에 전달하여 수행됩니다([SWS_DM_00516]). 이 생성자는 explicit로 정의되어 오류 코드로부터의 암시적 타입 변환이 금지됩니다. 또한 생성은 noexcept로 선언되어 객체 생성 시 예외 안전성("exception safe")을 보장하고 예외 상태가 발생하는 동안 추가 예외가 발생하는 것을 방지합니다([SWS_DM_00516]). 생성자 호출에 대해 스레드 안전성("thread-safe")이 보장됩니다([SWS_DM_00516]). 추가 수명 주기와 관련하여 예외 객체는 스택 풀기 프로세스 기간 동안 연관된 catch 블록이 완료될 때까지 존재합니다(해석: 예외 객체의 소유권과 파괴는 C++ 런타임 환경의 표준화된 메커니즘을 따릅니다). 질문 Q-ae485b4ea411b187 (열림)

사용 경로

ara::diag::DiagException의 일반적인 사용 경로는 진단 서브시스템에서의 오류 상황 감지부터 애플리케이션 수준에서의 평가까지 확장됩니다. 다음 시퀀스는 관련된 컴포넌트의 상호작용을 보여줍니다:

DiagException 발생 및 처리 시퀀스애플리케이션ara::diag-KlasseDiagExceptionDiagnosefunktion aufrufenUse Case: 진단 클러스터 내 오류 발생 시DiagException(err) instanziierenthrow DiagExceptioncatch 블록에서 예외 처리

시퀀스 다이어그램: DiagException의 발생, 유발 및 처리 시의 일반적인 흐름. 출처: [SWS_DM_00515], [SWS_DM_00516].

애플리케이션은 먼저 ara::diag 모듈의 기능 클래스에서 작업을 시작합니다. 처리 중에 정규 반환 경로를 배제하는 조건이 발생하면 진단 클래스는 특정 ara::core::ErrorCode를 지정하여 ara::diag::DiagException의 인스턴스를 생성합니다([SWS_DM_00516]). 이 예외는 일반적인 C++ 예외 메커니즘을 통해 던져집니다. 호출하는 애플리케이션 인스턴스는 적절한 복구 또는 로깅 조치를 시작하기 위해 타입화된 예외 핸들러에서 객체를 포착합니다.

오류 시나리오

오류 신호 클래스로서 ara::diag::DiagException은 주로 진단 오류 상태의 전달 역할을 합니다. 성공적인 생성을 위한 사전 조건은 ara::core::ErrorCode 타입의 초기화된 매개변수 err의 제공입니다([SWS_DM_00516]). 생성자의 예외 안전성은 리소스가 중요한 상황에서도 생성 경로에서 2차 예외가 발생하지 않도록 보장합니다([SWS_DM_00516]). 성공적인 인스턴스화 후 객체는 전달된 오류 코드를 완전히 캡슐화합니다(해석: 구체적인 진단 오류 코드는 예외를 포착하는 애플리케이션 로직에 의해 ara::core::Exception의 상속된 기본 메커니즘을 통해 검사될 것으로 보입니다). 질문 Q-d20a61b72951321b (열림)

이 가이드는 AUTOSAR AP R25-11 사양을 기반으로 AI에 의해 큐레이팅되었습니다.

UML 클래스 다이어그램

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

G nara__diag__DiagException942 DiagException + DiagException() nara__core__Exception792 Exception nara__diag__DiagException942->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

생성자 및 소멸자

Construct a new DiagException from an ErrorCode.

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

메서드 문서

함수 DiagException [SWS_DM_00516] Upstream: RS_AP_00119

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

Construct a new DiagException from an ErrorCode.

Header-Datei#include "ara/diag/diag_error_domain.h"
Scopeclass ara::diag::DiagException
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_00516
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00516@rel:R25-11#2767ae0c
Content hash
2767ae0c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00516
Status: valid/unmigrated Version: rel:R25-11#6bef63b1 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_DM_00516@rel:R25-11#6bef63b1
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#027392ad2026-09-30
  • R20-11rel:R20-11#f80be4a32026-10-14
  • R21-11rel:R21-11#e1dfd6d02026-10-14
  • R22-11rel:R22-11#c06b421b2026-10-14
  • R23-11rel:R23-11#d17f9fbb2026-10-14
  • R24-11rel:R24-11#6bef63b12026-10-14
  • R25-11rel:R25-11#6bef63b12026-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