DEENESPTFRRUARHIKOZHNL

क्लास ara::diag::DiagUdsNrcException

[SWS_DM_00527] Upstream: RS_AP_00119

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

Exception type thrown by Diag classes.

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

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

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

डायग्नोस्टिक्स वर्गों में UDS-NRC त्रुटियों को संकेतित करने और आगे प्रसारित करने के लिए थ्रेड-सुरक्षित अपवाद के रूप में कार्य करता है।

वर्ग ara::diag::DiagUdsNrcException AUTOSAR Adaptive Platform के डायग्नोस्टिक्स वर्गों द्वारा UDS-NRC त्रुटियों को संकेतित करने के लिए एक मानकीकृत अपवाद के रूप में कार्य करता है (AUTOSAR_AP_SWS_Diagnostics §8.12.4 “Class: DiagUdsNrcException”)। एक संबंधित त्रुटि स्थिति होने पर, इसे ara::core::ErrorCode के साथ इंस्टैंसिएट किया जाता है, थ्रो किया जाता है और त्रुटि हैंडलिंग के लिए कॉलिंग एप्लिकेशन द्वारा पकड़ा जाता है। एक आवश्यक सीमा शर्त के रूप में, [SWS_DM_00528] के अनुसार इसका कन्स्ट्रक्टर पूर्ण अपवाद सुरक्षा (noexcept) के साथ-साथ थ्रेड सुरक्षा की गारंटी देता है, जिससे समवर्ती संदर्भों में भी विश्वसनीय ऑब्जेक्ट निर्माण सुनिश्चित होता है।

संदर्भ

वर्ग ara::diag::DiagUdsNrcException AUTOSAR Adaptive Platform में मॉड्यूल diag के डायग्नोस्टिक्स वर्गों के लिए केंद्रीय अपवाद प्रकार का गठन करता है (AUTOSAR_AP_SWS_Diagnostics §8.12.4 “Class: DiagUdsNrcException”)। विनिर्देश [SWS_DM_00527] के अनुसार, यह एक मानकीकृत C++ अपवाद इंटरफ़ेस को परिभाषित करता है, जो सीधे आधार अपवाद वर्ग ara::core::Exception से इनहेरिट करता है। इसका प्राथमिक उत्तरदायित्व डायग्नोस्टिक्स संदर्भ से त्रुटि स्थितियों, विशेष रूप से UDS प्रोटोकॉल के नकारात्मक प्रतिक्रिया कोड (Negative Response Codes, NRC) को प्रोग्रामिंग इंटरफ़ेस के माध्यम से टाइप किए गए अपवादों के रूप में परिवहन करना है। यह वर्ग ara::core::ErrorCode के साथ निकटता से इंटरैक्ट करता है, जो ठोस त्रुटि कोड को समाहित करता है, साथ ही उन कॉलिंग एप्लिकेशन परतों के साथ भी जो डायग्नोस्टिक्स अनुरोध करती हैं और संभावित त्रुटियों को पकड़ती हैं ([SWS_DM_00528])। हेडर ara/diag/diag_uds_nrc_error_domain.h में घोषणा के माध्यम से, यह अपवाद सीधे संबंधित UDS-NRC त्रुटि डोमेन से जुड़ा होता है ([SWS_DM_00528])।
diag_uds_nrc_context diag_classes ara::diag क्लासेज nrc_exception ara::diag::DiagUdsNrcException diag_classes->nrc_exception उत्पन्न करता है और फेंकता है app Anwendungssoftware nrc_exception->app त्रुटि को स्थानांतरित करता है error_code ara::core::ErrorCode error_code->nrc_exception initialisiert

संदर्भ आरेख: त्रुटि कोड, डायग्नोस्टिक्स वर्गों और एप्लिकेशन सॉफ़्टवेयर के बीच अंतःक्रिया में DiagUdsNrcException का एकीकरण। स्रोत: [SWS_DM_00527], [SWS_DM_00528], AUTOSAR_AP_SWS_Diagnostics §8.12.4 “Class: DiagUdsNrcException”

जीवनचक्र

ara::diag::DiagUdsNrcException के एक इंस्टैंस का जीवनचक्र किसी डायग्नोस्टिक्स वर्ग या आंतरिक त्रुटि प्रबंधन रूटीन द्वारा इसके स्पष्ट इंस्टैंसिएशन के साथ शुरू होता है। [SWS_DM_00528] के अनुसार, वर्ग में एक कन्स्ट्रक्टर explicit DiagUdsNrcException(ara::core::ErrorCode err) noexcept; होता है, जो अंतर्निहित त्रुटि कोड को पैरामीटर err के रूप में स्वीकार करता है। यह कन्स्ट्रक्टर स्पष्ट रूप से अपवाद-सुरक्षित (exception safe) और गैर-थ्रोइंग (noexcept) के रूप में परिभाषित है ([SWS_DM_00528]), जिससे यह गारंटी मिलती है कि त्रुटि पथ में ऑब्जेक्ट निर्माण के समय कोई द्वितीयक अपवाद उत्पन्न नहीं हो सकता है। इसके अतिरिक्त, [SWS_DM_00528] के अनुसार निर्माण को थ्रेड-सुरक्षित (thread-safe) के रूप में वर्गीकृत किया गया है। निर्माण के बाद, अपवाद इंस्टैंस को आमतौर पर C++ रनटाइम सिस्टम के माध्यम से मूल्य द्वारा (by value) थ्रो किया जाता है। स्टैक अनवाइंडिंग के दौरान ऑब्जेक्ट का स्वामित्व रनटाइम परिवेश के पास रहता है, जब तक कि अपवाद एक संबंधित catch ब्लॉक में बाउंड और मूल्यांकित नहीं हो जाता। अपवाद हैंडलिंग ब्लॉक से बाहर निकलने पर, नियमित विनाश द्वारा ऑब्जेक्ट का जीवनचक्र समाप्त हो जाता है।

उपयोग पथ

विशिष्ट उपयोग पथ में UDS-NRC त्रुटि की पहचान, अपवाद का निर्माण और एप्लिकेशन द्वारा इसका बाद में मूल्यांकन शामिल है:
  1. एक एप्लिकेशन घटक किसी ara::diag वर्ग के डायग्नोस्टिक्स फ़ंक्शन या सर्विस इंटरफ़ेस को कॉल करता है।
  2. डायग्नोस्टिक्स वर्ग प्रसंस्करण के दौरान निर्धारित करता है कि अनुरोध को सफलतापूर्वक पूरा नहीं किया जा सकता है और एक UDS-NRC मौजूद है, जिसके बाद वह एक संगत ara::core::ErrorCode उत्पन्न करता है।
  3. इस त्रुटि कोड को पास करते हुए, अपवाद ara::diag::DiagUdsNrcException को इसके कन्स्ट्रक्टर के माध्यम से इंस्टैंसिएट किया जाता है ([SWS_DM_00528])।
  4. डायग्नोस्टिक्स वर्ग अपवाद ऑब्जेक्ट को निष्पादन संदर्भ से बाहर थ्रो करता है (AUTOSAR_AP_SWS_Diagnostics §8.12.4 “Class: DiagUdsNrcException”)।
  5. कॉलिंग एप्लिकेशन अपवाद को या तो सटीक प्रकार ara::diag::DiagUdsNrcException ([SWS_DM_00527]) के रूप में या आधार वर्ग ara::core::Exception के माध्यम से पॉलीमॉर्फिक रूप से पकड़ता है और त्रुटि जानकारी तक पहुँचता है।
DiagUdsNrcException के साथ अपवाद हैंडलिंग का प्रवाहएप्लिकेशनDiag-KlasseDiagUdsNrcExceptionडायग्नोस्टिक फ़ंक्शन निष्पादित करनाUDS-NRC-Bedingung erkannt, ErrorCode erzeugtDiagUdsNrcException(err)throw DiagUdsNrcExceptioncatch और त्रुटि का मूल्यांकन करना

अनुक्रम आरेख: DiagUdsNrcException का विशिष्ट निर्माण, थ्रो और कैच अनुक्रम। स्रोत: [SWS_DM_00527], [SWS_DM_00528], AUTOSAR_AP_SWS_Diagnostics §8.12.4 “Class: DiagUdsNrcException”

त्रुटि परिदृश्य

चूंकि ara::diag::DiagUdsNrcException स्वयं त्रुटि संकेतन का एक माध्यम है, त्रुटि परिदृश्य मुख्य रूप से अपवाद निर्माण के दौरान मजबूती और समवर्तीता से संबंधित होते हैं:
  • मजबूत ऑब्जेक्ट निर्माण: noexcept और exception safe ([SWS_DM_00528]) के रूप में विनिर्देश के कारण, यह बात पूरी तरह से खारिज हो जाती है कि निर्माण के दौरान कोई द्वितीयक अपवाद थ्रो किया जाएगा। यह महत्वपूर्ण त्रुटि हैंडलिंग पथों में std::terminate जैसे घातक रनटाइम रुकावटों को रोकता है।
  • त्रुटि कोड की वैधता: इंस्टैंसिएशन के लिए एक पूर्व शर्त के रूप में एक मान्य ara::core::ErrorCode उपलब्ध होना चाहिए ([SWS_DM_00528])। यह आमतौर पर ara/diag/diag_uds_nrc_error_domain.h द्वारा परिभाषित त्रुटि डोमेन से आता है।
  • समानांतर डायग्नोस्टिक्स प्रसंस्करण: चूंकि कन्स्ट्रक्टर को thread-safe के रूप में निर्दिष्ट किया गया है ([SWS_DM_00528]), एकाधिक थ्रेड्स अपवाद ऑब्जेक्ट के इनिशियलाइज़ेशन में रेस कंडीशन उत्पन्न किए बिना समवर्ती रूप से डायग्नोस्टिक्स अपवाद उत्पन्न कर सकते हैं।

यह मार्गदर्शिका AUTOSAR विनिर्देश R25-11 के आधार पर एक AI प्रणाली द्वारा तैयार की गई थी।

UML क्लास आरेख

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

G nara__diag__DiagUdsNrcException343 DiagUdsNrcException + DiagUdsNrcException() nara__core__Exception792 Exception nara__diag__DiagUdsNrcException343->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

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

DiagUdsNrcException फ़ंक्शन

Construct a new DiagException from an ErrorCode.

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

मेथड का प्रलेखन

फ़ंक्शन DiagUdsNrcException [SWS_DM_00528] Upstream: RS_AP_00119

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

Construct a new DiagException from an ErrorCode.

Header-Datei#include "ara/diag/diag_uds_nrc_error_domain.h"
Scopeclass ara::diag::DiagUdsNrcException
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_00528
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00528@rel:R25-11#5ee0c934
Content hash
5ee0c934
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00528
Status: valid/unmigrated Version: rel:R25-11#55ae2ae1 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_00528@rel:R25-11#55ae2ae1
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#d0877d832026-09-30
  • R20-11rel:R20-11#cfe41a2e2026-10-14
  • R21-11rel:R21-11#cfe41a2e2026-10-14
  • R22-11rel:R22-11#b5842e552026-10-14
  • R23-11rel:R23-11#ccbb9a702026-10-14
  • R24-11rel:R24-11#55ae2ae12026-10-14
  • R25-11rel:R25-11#55ae2ae12026-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