त्रुटि कोड के माध्यम से संचार प्रबंधन की त्रुटियों को एनकैप्सुलेट करने और रिपोर्ट करने के लिए API अपवाद वर्ग के रूप में कार्य करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: becb2133e102उद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
त्रुटि कोड के माध्यम से संचार प्रबंधन की त्रुटियों को एनकैप्सुलेट करने और रिपोर्ट करने के लिए API अपवाद वर्ग के रूप में कार्य करता है।
वर्ग ara::com::ComException AUTOSAR Adaptive में संचार API [SWS_CM_11327] के कॉल के दौरान त्रुटियों का संकेत देने के लिए एक केंद्रीय अपवाद वर्ग के रूप में कार्य करता है। यह एक ara::core::ErrorCode को एनकैप्सुलेट करता है और विफल ऑपरेशनों पर इंस्टैंसिएट और थ्रो किया जाता है, जहां इसका कंस्ट्रक्टर अपवाद-सुरक्षित और नॉन-थ्रोइंग के रूप में परिभाषित होता है [SWS_CM_11328]। यदि कंपाइलर टूलचेन में C++ अपवाद अक्षम हैं, तो संबंधित थ्रोइंग API ओवरलोड्स पूरी तरह से ओवरलोड रिज़ॉल्यूशन से बाहर हो जाते हैं। कॉल करने वाले शामिल त्रुटि कोड का विश्लेषण करने और त्रुटि प्रबंधन उपाय शुरू करने के लिए अपवाद ऑब्जेक्ट को पकड़ते हैं (catch)।
संदर्भ
वर्ग ara::com::ComException AUTOSAR Adaptive Platform के मॉड्यूल com में संचार API [SWS_CM_11327] के कॉल के दौरान त्रुटियों का संकेत देने के लिए एक विशेष अपवाद वर्ग के रूप में कार्य करता है। यह बेस क्लास ara::core::Exception से सार्वजनिक रूप से प्राप्त होता है और final के रूप में घोषित किया गया है। यह Adaptive Platform के व्यापक त्रुटि प्रबंधन आर्किटेक्चर में इसके प्रत्यक्ष एकीकरण को स्पष्ट करता है। final के रूप में चिह्नित होने के कारण, यह वर्ग एक सीलबंद अपवाद प्रकार के रूप में डिज़ाइन किया गया प्रतीत होता है, जो आगे के व्युत्पत्ति पदानुक्रम (derivation hierarchy) के लिए अभिप्रेत नहीं है। प्रश्न Q-2454b5b73295287b (खुला)
ara::com::ComException का प्राथमिक कार्य उत्पन्न त्रुटि स्थिति को एक ara::core::ErrorCode के रूप में एनकैप्सुलेट करना और C++ अपवाद तंत्र के माध्यम से कॉलिंग परतों को प्रेषित करना है [SWS_CM_11328]। घोषणा और परिभाषा हेडर #include "ara/com/com_error_domain.h" के माध्यम से प्रदान की जाती है [SWS_CM_11328]। केंद्रीय संपर्क भागीदारों के रूप में उपयोग करने वाला अनुप्रयोग सॉफ़्टवेयर, संचार प्रबंधन के आंतरिक सेवा और API फ़ंक्शन, साथ ही त्रुटि डोमेन ara::core::ErrorCode के प्रकार कार्य करते हैं।
जीवनचक्र
किसी ara::com::ComException ऑब्जेक्ट का जीवन चक्र संचार प्रबंधन के एक API फ़ंक्शन के कार्यान्वयन में तब शुरू होता है, जब कोई ऑपरेशन विफल हो जाता है और अपवाद को इंस्टैंसिएट तथा ट्रिगर किया जाता है AUTOSAR_AP_SWS_CommunicationManagement §8.12.5 “Class: ComException”। इसका निर्माण स्पष्ट कंस्ट्रक्टर के माध्यम से होता है, जो ट्रिगर करने वाले ara::core::ErrorCode ऑब्जेक्ट को स्वीकार करता है [SWS_CM_11328]।
यह कंस्ट्रक्टर noexcept के साथ घोषित है और इसमें exception safe गुण है [SWS_CM_11328]। यह सुनिश्चित करता है कि स्वयं अपवाद ऑब्जेक्ट के निर्माण के दौरान कोई अन्य अपवाद उत्पन्न नहीं हो सकता है। throw के माध्यम से फेंकने (throw) के बाद, ऑब्जेक्ट को स्टैक अनवाइंडिंग के हिस्से के रूप में ले जाया जाता है, जब तक कि यह कॉलिंग लेयर के एक उपयुक्त catch ब्लॉक में बाउंड न हो जाए। स्वामित्व के संबंध में, हैंडलिंग ब्लॉक से बाहर निकलने के बाद इंस्टेंस स्वचालित रूप से स्टैक पर नष्ट हो जाता है। क्लास में स्टेट मशीन के अर्थ में आंतरिक स्थिति संक्रमण नहीं होते हैं; त्रुटि कोड के साथ इनिशियलाइज़ेशन के बाद इसकी स्थिति अपरिवर्तनीय रहती है।
उपयोग पथ
विशिष्ट उपयोग पथ त्रुटि का पता लगाने, अपवाद ट्रिगर करने और बाद के उपचार के क्रम का वर्णन करता है:
एक अनुप्रयोग फ़ंक्शन ara::com इंटरफ़ेस के एक ऑपरेशन को कॉल करता है।
अनुप्रयोग एक उपयुक्त ब्लॉक में अपवाद को पकड़ता है। कॉपी संचालन से बचने के लिए अनुप्रयोग पक्ष पर पकड़ना संभवतः निरंतर संदर्भ (const ara::com::ComException&) द्वारा किया जाता है। प्रश्न Q-5270e026eeac8be7 (खुला)
बेस क्लास के इंटरफ़ेस के माध्यम से, कॉलर निहित ara::core::ErrorCode तक पहुँचता है और नैदानिक या क्षतिपूर्ति कदम निष्पादित करता है [SWS_CM_11328]।
त्रुटि प्रबंधन और टूलचेन कॉन्फ़िगरेशन के संदर्भ में, निम्नलिखित स्थितियाँ और सीमांत मामले लागू होते हैं:
अक्षम C++ अपवाद: यदि कंपाइलर टूलचेन में C++ अपवाद अक्षम हैं, तो ara::com::ComException बनाने और फेंकने वाले API फ़ंक्शन [SWS_CORE_10304] के अनुसार ओवरलोड रिज़ॉल्यूशन में भाग नहीं लेते हैं AUTOSAR_AP_SWS_CommunicationManagement §8.12.5 “Class: ComException”। इस स्थिति में, त्रुटि-हैंडलिंग सॉफ़्टवेयर वैकल्पिक रिटर्न तंत्र का सहारा लेता है।
कंस्ट्रक्टर प्रकार-सुरक्षा: चूंकि कंस्ट्रक्टर को explicit के रूप में घोषित किया गया है, इसलिए ara::core::ErrorCode को पास करते समय अंतर्निहित प्रकार रूपांतरण को रोक दिया जाता है [SWS_CM_11328]।
पदानुक्रमित कैप्चर: चूंकि ara::com::ComException, ara::core::Exception से प्राप्त होता है, इसलिए कॉलर अपवादों को विशेष रूप से ara::com::ComException के रूप में या सामान्य रूप से बेस क्लास के हैंडलर के माध्यम से संभाल सकते हैं।
यह मार्गदर्शिका AUTOSAR Adaptive R25-11 विनिर्देश पर आधारित है। सभी विवरण और संदर्भ विशेष रूप से प्रदान किए गए विनिर्देश उद्धरणों पर आधारित हैं।
UML क्लास आरेख
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल