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

उपयोगकर्ता गाइडएआई जनित

डायग्नोस्टिक सेवाएँ प्रदान करते समय त्रुटि कोड वाले अपवादों के माध्यम से त्रुटि संकेतन का कार्य करता है।
एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 3b24259852fb उद्गम खुले प्रश्न (3)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

डायग्नोस्टिक सेवाएँ प्रदान करते समय त्रुटि कोड वाले अपवादों के माध्यम से त्रुटि संकेतन का कार्य करता है।

वर्ग ara::diag::DiagOfferException एक विशिष्ट C++ अपवाद प्रकार के रूप में कार्य करता है, जिसे त्रुटियों का संकेत देने के लिए AUTOSAR Adaptive Platform के डायग्नोस्टिक वर्गों द्वारा फेंका जाता है ([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])।

प्राथमिक इंटरैक्शन भागीदारों में डायग्नोस्टिक्स प्रबंधन के कार्यात्मक वर्ग, AUTOSAR Adaptive का अंतर्निहित त्रुटि आर्किटेक्चर (ara::core::ErrorCode द्वारा दर्शाया गया) और अनुप्रयोग सॉफ़्टवेयर शामिल हैं जो डायग्नोस्टिक्स सेवाएँ प्रदान करते हैं। वर्ग का नाम बताता है कि यह अपवाद संभवतः तब उपयोग किया जाता है जब संबंधित 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])। इसके निर्माण के बाद, अपवाद ऑब्जेक्ट में कोई जटिल आंतरिक स्थिति परिवर्तन नहीं होते हैं; यह संभवतः पास किए गए त्रुटि कोड के लिए एक अपरिवर्तनीय परिवहन आवरण के रूप में कार्य करता है (व्याख्या)। प्रश्न Q-09c6e0ad610717e9 (खुला)

उपयोग पथ

ara::diag::DiagOfferException के उपयोग का विशिष्ट क्रम निम्नलिखित चरणों में विभाजित है:

  • डायग्नोस्टिक सेवा या पोर्ट (Offer ऑपरेशन) प्रदान करने के लिए एक अनुप्रयोग डायग्नोस्टिक वर्ग की एक विधि को कॉल करता है।
  • डायग्नोस्टिक वर्ग इनिशियलाइज़ेशन या पंजीकरण के दौरान एक त्रुटि स्थिति की पहचान करता है और एक उपयुक्त ara::core::ErrorCode को इंस्टैंसिएट करता है।
  • डायग्नोस्टिक वर्ग इस त्रुटि कोड ([SWS_DM_00986]) को पास करके ara::diag::DiagOfferException का एक इंस्टेंस बनाता है और इस अपवाद को फेंकता है।
  • कॉल करने वाला अनुप्रयोग सॉफ़्टवेयर try-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 के रूप में परिभाषित किया गया है, इंस्टैंसिएशन किसी भी परिस्थिति में द्वितीयक अपवादों की ओर नहीं ले जाता है ([SWS_DM_00986])।

यदि फेंका गया DiagOfferException अनुप्रयोग सॉफ़्टवेयर द्वारा नहीं पकड़ा जाता है, तो यह डिफ़ॉल्ट रूप से 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

कंस्ट्रक्टर और डिस्ट्रक्टर

DiagOfferException फ़ंक्शन

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#1fac789a
Content hash
1fac789a
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