त्रुटि कोड सहित एंड-टू-एंड इंटरफ़ेस से त्रुटियों का संकेत देने के लिए एक विशिष्ट C++ अपवाद के रूप में कार्य करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 385c2dd6528bउद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
त्रुटि कोड सहित एंड-टू-एंड इंटरफ़ेस से त्रुटियों का संकेत देने के लिए एक विशिष्ट C++ अपवाद के रूप में कार्य करता है।
वर्ग ara::com::e2e::ComE2EException संचार प्रबंधन ([SWS_CM_12501]) के E2E API से त्रुटियों की रिपोर्ट करने के लिए एक मानकीकृत C++ अपवाद के रूप में कार्य करता है। यह ara::core::Exception से प्राप्त होता है और एक विशिष्ट ara::core::ErrorCode को एनकैप्सुलेट करता है, जिसे इंस्टैंसिएशन के समय अपवाद-सुरक्षित noexcept कंस्ट्रक्टर के माध्यम से पास किया जाता है ([SWS_CM_12502])। यदि कंपाइलर टूलचेन में C++ अपवाद अक्षम हैं, तो विनिर्देश के अनुसार ट्रिगर करने वाला फ़ंक्शन ओवरलोड रिज़ॉल्यूशन में भाग नहीं लेता है, इसलिए इस त्रुटि पथ के लिए सक्रिय अपवाद समर्थन की आवश्यकता होती है।
AUTOSAR Adaptive के कार्यात्मक आर्किटेक्चर के भीतर, ComE2EException प्लेटफ़ॉर्म के E2E-निगरानी रूटीनों और कॉलिंग अनुप्रयोग सॉफ़्टवेयर के बीच एक संचार सेतु (communication bridge) के रूप में कार्य करता है। यदि कोई E2E-फ़ंक्शन डेटा के सत्यापन या प्रसंस्करण के दौरान किसी त्रुटि स्थिति का पता लगाता है, तो यह त्रुटि इस अपवाद (exception) को थ्रो करके उच्च-स्तरीय नियंत्रण प्रवाह को प्रेषित की जाती है (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 “Class: ComE2EException”)।
जीवनचक्र
ComE2EException के किसी ऑब्जेक्ट का इंस्टैंसिएशन कंस्ट्रक्टर explicit ComE2EException(ara::core::ErrorCode errorCode) noexcept में एक त्रुटि कोड पास करके स्पष्ट रूप से किया जाता है ([SWS_CM_12502], AUTOSAR_AP_SWS_CommunicationManagement §8.15.4.1.1.1 “ComE2EException”)। कंस्ट्रक्टर को noexcept और अपवाद-सुरक्षित (exception-safe) (exception safe) के रूप में निर्दिष्ट किया गया है ([SWS_CM_12502])। यह गारंटी देता है कि स्वयं अपवाद के निर्माण के दौरान कोई अन्य अपवाद थ्रो नहीं किए जा सकते, जो त्रुटि पथ में दृढ़ता (robustness) सुनिश्चित करता है।
स्वामित्व संबंधों के संदर्भ में, अपवाद को ट्रिगर करने वाले E2E-इंटरफ़ेस द्वारा उत्पन्न किया जाता है और मान द्वारा थ्रो किया जाता है (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 “Class: ComE2EException”)। अनुप्रयोग पक्ष पर, ऑब्जेक्ट को आमतौर पर एक निरंतर संदर्भ (const reference) के रूप में कैच किया जाता है। जैसे ही संबंधित हैंडलिंग ब्लॉक से बाहर निकला जाता है, नियमित C++ स्टैक अनवाइंडिंग के हिस्से के रूप में स्वचालित विनाश हो जाता है। चूंकि क्लास को final के रूप में परिभाषित किया गया है, इसलिए कोई सब-क्लास प्रदान नहीं की गई है।
उपयोग पथ
अपवाद का उपयोग करते समय विशिष्ट अनुक्रम निम्नलिखित चरणों में विभाजित होता है:
अनुप्रयोग सॉफ़्टवेयर संचार प्रबंधन के E2E-संरक्षित फ़ंक्शन को कॉल करता है।
अनुप्रयोग try-catch ब्लॉक में अपवाद को कैच करता है। यहाँ कॉलर संभवतः (व्याख्या) त्रुटि निदान के लिए निहित ara::core::ErrorCode का मूल्यांकन करने के लिए ara::core::Exception के इनहेरिटेड बेस मेथडों तक पहुँच सकते हैं। प्रश्न Q-8dfac2428f223afe (खुला)
ComE2EException के उपयोग के लिए टूलचेन के संबंध में एक महत्वपूर्ण पूर्वशर्त लागू होती है: [SWS_CORE_10304] के अनुसार, इंस्टेंस बनाने और थ्रो करने वाला फ़ंक्शन ओवरलोड रिज़ॉल्यूशन (overload resolution) में भाग नहीं लेता है यदि कंपाइलर में C++ अपवाद निष्क्रिय हैं (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 “Class: ComE2EException”)। C++ अपवाद समर्थन के बिना रनटाइम वातावरण में, यह सिग्नल पथ इसलिए मौजूद नहीं होता है; इस मामले में त्रुटियां संभवतः (व्याख्या) प्लेटफ़ॉर्म के वैकल्पिक, गैर-अपवाद-आधारित त्रुटि तंत्रों के माध्यम से प्रेषित की जाती हैं। प्रश्न Q-e1b3f4f1dfc191ef (खुला)
यदि अपवाद सक्रिय हैं, तो प्रत्येक ComE2EException अनिवार्य रूप से एक त्रुटि कोड ([SWS_CM_12502]) ले जाता है। इंस्टैंसिएशन के लिए एक पूर्वशर्त के रूप में, एक वैध ara::core::ErrorCode उपलब्ध होना चाहिए ([SWS_CM_12502])। चूंकि कंस्ट्रक्टर को अपवाद-सुरक्षित घोषित किया गया है ([SWS_CM_12502]), त्रुटि की स्थिति में भी ऑब्जेक्ट निर्माण स्वयं विफल नहीं हो सकता है।
यह गाइड AUTOSAR विनिर्देश R25-11 पर आधारित है और स्वचालित रूप से क्यूरेट की गई थी।
UML क्लास आरेख
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल