SOVD-विशिष्ट डायग्नोस्टिक त्रुटियों को कॉलर्स को संबद्ध त्रुटि कोड के साथ एक अपवाद-सुरक्षित Exception के रूप में संकेत करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 58783cae6416उद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
SOVD-विशिष्ट डायग्नोस्टिक त्रुटियों को कॉलर्स को संबद्ध त्रुटि कोड के साथ एक अपवाद-सुरक्षित Exception के रूप में संकेत करता है।
वर्ग 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)। यह कन्स्ट्रक्टर त्रुटि कोड के अपवाद ऑब्जेक्ट्स में अंतर्निहित रूपांतरण (implicit conversions) को रोकने के लिए explicit के रूप में घोषित किया गया है, और noexcept के रूप में चिह्नित है ([SWS_DM_01808])।
मजबूती और समवर्तीता के संबंध में, विनिर्देश यह आश्वासन देता है कि निर्माण पूरी तरह से अपवाद-सुरक्षित (exception safe) और थ्रेड-सुरक्षित है ([SWS_DM_01808])। इससे यह सुनिश्चित होता है कि समवर्ती डायग्नोस्टिक्स परिदृश्यों में भी त्रुटि उत्पन्न होना कोई और अपवाद या असंगतता पैदा नहीं करता है। अपवाद का जीवनचक्र C++ के मानक स्टैक अनवाइंडिंग का अनुसरण करता है: किसी त्रुटि की स्थिति में ऑब्जेक्ट डायग्नोस्टिक्स फ़ंक्शन के भीतर निर्मित होता है, कॉल स्तरों के माध्यम से आगे बढ़ाया जाता है, और संबंधित कैच-ब्लॉक से बाहर निकलते ही निर्धारित रूप से नष्ट हो जाता है।
उपयोग पथ
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& के माध्यम से अपवाद को पकड़ता है।
त्रुटि संवाहक के रूप में, यह वर्ग स्वयं अपवाद स्थितियों को संभालने का कार्य करता है ([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.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल