डायग्नोस्टिक त्रुटि कोड को उच्च-स्तरीय फ़ंक्शन कॉलर्स को C++ अपवाद के रूप में एनकैप्सुलेट करने और अग्रेषित करने का कार्य करता है।
एआई-जनितअसत्यापितमॉडल: 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])। इसका कंस्ट्रक्टर thread-safe है और 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 के घटित होने, ट्रिगर होने और संभाले जाने पर विशिष्ट प्रवाह। स्रोत: [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])। कंस्ट्रक्टर की अपवाद सुरक्षा यह सुनिश्चित करती है कि संसाधन-महत्वपूर्ण स्थितियों में भी निर्माण पथ में कोई द्वितीयक अपवाद ट्रिगर न हो ([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.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल