DEENESPTFRRUARHIKOZHNL

클래스 ara::diag::DiagOfferException

[SWS_DM_00985] Upstream: RS_AP_00119

class DiagOfferException :           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 생성

진단 서비스 제공 시 오류 코드가 포함된 예외를 통한 오류 신호 전달 역할을 합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 3b24259852fb 출처 열린 질문 (3)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

진단 서비스 제공 시 오류 코드가 포함된 예외를 통한 오류 신호 전달 역할을 합니다.

ara::diag::DiagOfferException 클래스는 AUTOSAR Adaptive Platform의 진단 클래스가 오류를 알리기 위해 던지는 특정 C++ 예외 타입 역할을 합니다([SWS_DM_00985]). ara::core::Exception에서 파생되며 ara::core::ErrorCode를 지정하여 noexcept 생성자를 통해 스레드 안전하게 인스턴스화됩니다([SWS_DM_00986]). 예외는 주로 진단 서비스 제공 실패 시 발생할 것으로 보이며 제어되지 않은 프로세스 중단을 방지하기 위해 호출 애플리케이션에서 포착해야 합니다. 질문 (열림)

컨텍스트

ara::diag::DiagOfferException 클래스는 AUTOSAR Adaptive Platform 내 진단 모듈의 핵심 예외 타입입니다([SWS_DM_00985], SWS Diagnostics §8.11.6 “Class: DiagOfferException”). 사양에 따르면 진단 클래스에서 발생하는 예외("Exception type thrown by Diag classes")입니다. 이 클래스는 기본 클래스 ara::core::Exception에서 공개적으로 파생되며 헤더 ara/diag/diag_error_domain.h를 통해 애플리케이션에 포함되어야 합니다([SWS_DM_00986]).

주요 상호작용 대상에는 진단 관리의 기능 클래스, (ara::core::ErrorCode(으)로 표현되는) AUTOSAR Adaptive의 기본 오류 아키텍처, 진단 서비스를 제공하는 애플리케이션 소프트웨어가 포함됩니다. 클래스 이름으로 볼 때, 이 예외는 관련 Diag 클래스를 통한 진단 서비스 제공 또는 등록이 실패할 때 주로 사용되는 것으로 추정됩니다(해석). 질문 Q-47046201c9fd38c3 (열림)

수명 주기

ara::diag::DiagOfferException의 인스턴스화는 유일하게 지정된 생성자 explicit DiagOfferException(ara::core::ErrorCode err) noexcept([SWS_DM_00986], SWS Diagnostics §8.11.6.1.1.1 “DiagOfferException”)을 통해 수행됩니다. 이때 예외는 구체적인 오류 코드에 직접 바인딩됩니다. 생성자가 noexcept(으)로 선언되어 있으므로, 예외 객체 자체를 생성하는 동안 추가 오류나 재귀적 예외가 발생하지 않음이 보장됩니다([SWS_DM_00986]).

수명 주기 측면에서 이 클래스는 일반적인 C++ 예외 처리 메커니즘을 따릅니다. 런타임 환경의 예외 메모리에 할당되고, 호출 스택을 통해 전달되며, 이를 처리하는 catch 블록의 실행이 완료된 후 자동으로 해제됩니다. 명세에 따르면 생성은 스레드 안전(thread-safe)하고 예외 안전(exception-safe)합니다([SWS_DM_00986]). 예외 객체는 생성 후 복잡한 내부 상태 변화를 겪지 않으며, 전달된 오류 코드를 위한 불변 전송 셸(shell) 역할을 하는 것으로 보입니다(해석). 질문 Q-09c6e0ad610717e9 (열림)

사용 경로

ara::diag::DiagOfferException 사용 시의 전형적인 절차는 다음 단계로 나뉜다:

  • 애플리케이션이 진단 클래스의 메서드를 호출하여 진단 서비스 또는 포트를 제공합니다(Offer 작업).
  • 진단 클래스가 초기화 또는 등록 중에 오류 조건을 감지하고 적절한 ara::core::ErrorCode을(를) 인스턴스화합니다.
  • 진단 클래스가 이 오류 코드([SWS_DM_00986])를 전달하여 ara::diag::DiagOfferException의 인스턴스를 생성하고 이 예외를 발생(throw)시킵니다.
  • 호출한 애플리케이션 소프트웨어가 try-catch 블록 내에서 예외를 잡습니다(catch).
  • 호출자가 예외에서 오류 코드를 추출하고 적절한 장애 처리 또는 재시도 전략을 트리거합니다.
DiagOfferException을 통한 제공 실패 시 오류 처리애플리케이션Diag-KlasseDiagOfferExceptionDienst anbieten (Offer)Fehler festgestellt: ErrorCode erzeugenDiagOfferException(err)throw DiagOfferExceptioncatch (const DiagOfferException& e)ErrorCode 평가 및 처리

시퀀스 다이어그램: DiagOfferException을 통한 오류 시그널링 및 처리의 일반적인 흐름. 출처: [SWS_DM_00985], [SWS_DM_00986].

오류 시나리오

ara::diag::DiagOfferException 자체는 오류 상황을 알리기 위한 신호 메커니즘 역할을 합니다. 인스턴스화를 위한 사전 조건으로 호출 인스턴스에 유효한 ara::core::ErrorCode이(가) 있어야 합니다([SWS_DM_00986]). 생성자가 noexcept(으)로 정의되어 있으므로 인스턴스화 시 어떠한 경우에도 2차 예외가 발생하지 않습니다([SWS_DM_00986]).

발생된 DiagOfferException을(를) 애플리케이션 소프트웨어에서 잡지(catch) 않으면, 기본적으로 std::terminate이(가) 호출되어 프로세스가 제어되지 않은 상태로 비정상 종료됩니다. ara::core::Exception의 상속을 통해, 프로세스 수준에서 견고한 내결함성을 보장하기 위해 ara::diag::DiagOfferException의 구체적인 처리 외에도 ara::core::Exception에 대한 일반 핸들러가 적용될 수 있도록 의도된 것으로 추정됩니다(해석). 질문 Q-d0cf602a077c4dae (열림)

이 가이드는 AUTOSAR Adaptive R25-11(diag 모듈) 명세를 기반으로 하며 autodocs를 위해 자동으로 생성되었습니다.

UML 클래스 다이어그램

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

G nara__diag__DiagOfferException442 DiagOfferException + DiagOfferException() nara__core__Exception792 Exception nara__diag__DiagOfferException442->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

생성자 및 소멸자

Construct a new DiagException from an ErrorCode.

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

메서드 문서

함수 DiagOfferException [SWS_DM_00986] Upstream: RS_AP_00119

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

Construct a new DiagException from an ErrorCode.

Header-Datei#include "ara/diag/diag_error_domain.h"
Scopeclass ara::diag::DiagOfferException
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_00986
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00986@rel:R25-11#f0db5e21
Content hash
f0db5e21
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00986
Status: valid/unmigrated Version: rel:R25-11#5fd23a99 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_00986@rel:R25-11#5fd23a99
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#346e60702026-09-30
  • R23-11rel:R23-11#f79e89952026-10-14
  • R24-11rel:R24-11#5fd23a992026-10-14
  • R25-11rel:R25-11#5fd23a992026-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