सभी AUTOSAR अपवादों के लिए बेस क्लास के रूप में कार्य करता है और मूल्यांकन के लिए एक थ्रेड-सुरक्षित एरर कोड को एनकैप्सुलेट करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: d4eaa8466f70उद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
सभी AUTOSAR अपवादों के लिए बेस क्लास के रूप में कार्य करता है और मूल्यांकन के लिए एक थ्रेड-सुरक्षित एरर कोड को एनकैप्सुलेट करता है।
क्लास ara::core::Exception Adaptive Platform के सभी अपवाद प्रकारों के लिए एक सामान्य बेस क्लास के रूप में कार्य करती है और एक ErrorCode को मानकीकृत C++ अपवाद पदानुक्रम में एम्बेड करती है [SWS_CORE_00611]। त्रुटियां होने पर, यह इस एरर कोड को थ्रेड-सुरक्षित रूप से एक हैंडलर तक ले जाती है, जो Error() या व्युत्पन्न मानक विधि what() के माध्यम से इसका मूल्यांकन कर सकता है [SWS_CORE_00613]। सभी ऑपरेशन सख्ती से अपवाद-सुरक्षित हैं और noexcept के रूप में घोषित हैं। व्युत्पन्न प्रकारों में आकस्मिक ऑब्जेक्ट स्लाइसिंग को रोकने के लिए, कॉपी ऑपरेशन संरक्षित हैं।
संदर्भ
क्लास ara::core::Exception AUTOSAR Adaptive Platform के भीतर सभी अपवाद प्रकारों के लिए एक सामान्य बेस क्लास के रूप में कार्य करती है। यह C++ मानक लाइब्रेरी के अपवाद प्रबंधन और AUTOSAR एरर मॉडल के बीच सेतु का काम करती है: एक ओर, यह सार्वजनिक रूप से std::exception से इनहेरिट होती है और इसके वर्चुअल सदस्य फ़ंक्शन what()[SWS_CORE_00612] को ओवरराइड करती है, दूसरी ओर, यह प्रकार ara::core::ErrorCode[SWS_CORE_00611], [SWS_CORE_00613] के एक एम्बेडेड एरर ऑब्जेक्ट को ट्रांसपोर्ट करती है।
ara::core::Exception की मुख्य ज़िम्मेदारी अपवाद की स्थिति में कॉल सीमाओं के पार संरचित तरीके से एरर जानकारी प्रदान करना है। व्याख्या: क्लास को प्लेटफ़ॉर्म के डोमेन-विशिष्ट अपवाद वर्गों के लिए एक सामान्य रूट के रूप में डिज़ाइन किया गया माना जा सकता है; इसके कॉपी ऑपरेशन व्युत्पन्न इंस्टेंस में अनपेक्षित ऑब्जेक्ट स्लाइसिंग को रोकने के लिए protected के रूप में निर्दिष्ट हैं [SWS_CORE_00614], [SWS_CORE_00618]। प्रश्न Q-20ffec7888b9e724 (खुला)
ara::core::Exception के निर्माण के लिए कंस्ट्रक्टर [SWS_CORE_00611] को कॉल करते समय अनिवार्य रूप से एरर कोड के स्पष्ट विनिर्देश की आवश्यकता होती है। यह कंस्ट्रक्टर noexcept के रूप में परिभाषित है और इसलिए स्वयं कोई अपवाद नहीं फेंकता है।
स्वामित्व और प्रतिलिपि क्षमताएं सख्त सुरक्षा नियमों का पालन करती हैं: कॉपी कंस्ट्रक्टर [SWS_CORE_00618] और कॉपी असाइनमेंट ऑपरेटर [SWS_CORE_00614] दोनों में एक्सेस संशोधक protected होता है। यह बेस क्लास इंटरफ़ेस के माध्यम से पॉलीमॉर्फिक सब-क्लास की अपूर्ण प्रतिलिपि को रोकता है। इसके विपरीत, संसाधनों के स्थानांतरण के लिए, मूव कंस्ट्रक्टर [SWS_CORE_00615] और संदर्भ क्वालिफायर &[SWS_CORE_00616] के साथ मूव असाइनमेंट ऑपरेटर सार्वजनिक रूप से noexcept=default के रूप में उपलब्ध हैं।
विनाश वर्चुअल डिस्ट्रक्टर [SWS_CORE_00617] के माध्यम से नियतात्मक रूप से होता है, जिसे noexcept override=default के रूप में निर्दिष्ट किया गया है और यह व्युत्पन्न इंस्टेंस का उचित क्लीनअप सुनिश्चित करता है। विधियों तक समवर्ती रीड एक्सेस के साथ-साथ इंस्टेंटिएशन को थ्रेड-सुरक्षित घोषित किया गया है [SWS_CORE_00611], [SWS_CORE_00612], [SWS_CORE_00613]।
उपयोग पथ
नियमित प्रवाह एरर का पता लगाने से लेकर अपवाद को ट्रिगर करने और अपवाद हैंडलर में संरचित निदान तक विस्तृत है:
निर्माण और ट्रिगर करना: एक घटक किसी एरर स्थिति की पहचान करता है, उपयुक्त ErrorCode[SWS_CORE_00611] के साथ Exception को इंस्टेंटिएट करता है और ऑब्जेक्ट को throw के माध्यम से थ्रो करता है।
कैच करना: एक उच्च-स्तरीय ब्लॉक संदर्भ द्वारा ऑब्जेक्ट को कैच करता है (उदाहरण के लिए const ara::core::Exception& के रूप में या पॉलीमॉर्फिक रूप से const std::exception& के रूप में)।
मानकीकृत टेक्स्ट आउटपुट:what() के माध्यम से नल-टर्मिनेटेड स्ट्रिंग के रूप में एक टेक्स्ट विवरण प्राप्त किया जा सकता है [SWS_CORE_00612]। std::exception::what की सभी जीवनकाल गारंटी पूरी तरह से बनी रहती हैं।
विस्तृत एरर जांच: सदस्य फ़ंक्शन Error() के माध्यम से, हैंडलर सिस्टम-विशिष्ट एरर डोमेन और कोड्स का मशीनी मूल्यांकन करने के लिए एम्बेडेड ErrorCode के एक स्थिर संदर्भ तक पहुंचता है [SWS_CORE_00613]।
चूँकि ara::core::Exception स्वयं एरर स्थितियों के लिए वाहक ऑब्जेक्ट का प्रतिनिधित्व करता है, इसलिए सभी ऑपरेशन अधिकतम दोष सहनशीलता के लिए डिज़ाइन किए गए हैं:
लाइफ़टाइम शर्तें:Error() द्वारा प्रदान किया गया संदर्भ अपवाद ऑब्जेक्ट [SWS_CORE_00613] से बाइंड होता है; इसका उपयोग Exception के लाइफ़टाइम के बाद नहीं किया जाना चाहिए। what() की वापसी के लिए मानक लाइब्रेरी के लाइफ़टाइम नियम लागू होते हैं [SWS_CORE_00612]।
अमान्य ऑब्जेक्ट स्थितियों की रोकथाम:protected क्षेत्र में कॉपी ऑपरेशनों के इनकैप्सुलेशन द्वारा यह रोका जाता है कि बहुरूपी उपवर्ग (polymorphic subclasses) स्लाइसिंग के कारण अनजाने में असंगत न हो जाएं [SWS_CORE_00614], [SWS_CORE_00618]।
यह मार्गदर्शिका AUTOSAR Adaptive Platform रिलीज़ R25-11 के विनिर्देश पर आधारित है।
Return the explanatory string. This function overrides the virtual function std::exception:: what. All guarantees about the lifetime of the returned pointer that are given for std::exception::what are preserved. ≙ std::exception::
Return the explanatory string. This function overrides the virtual function std::exception:: what. All guarantees about the lifetime of the returned pointer that are given for std::exception::what are preserved.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 1b4e9bb17f9aउद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
क्लास ara::core::Exception का मेंबर फ़ंक्शन what उत्पन्न हुई त्रुटि के संबंध में एक व्याख्यात्मक स्ट्रिंग को तुल्यकालिक रूप से प्राप्त करने के लिए कार्य करता है [SWS_CORE_00612]। यह वर्चुअल फ़ंक्शन std::exception::what को ओवरराइड करता है और एक नल-टर्मिनेटेड स्ट्रिंग (const char*) का पॉइंटर लौटाता है [SWS_CORE_00612]।
उपयोग और जीवनकाल
फ़ंक्शन किसी पासिंग पैरामीटर की अपेक्षा नहीं करता है। लौटाए गए पॉइंटर की वैधता के संबंध में वे सभी गारंटी सुरक्षित रहती हैं जो std::exception::what पर लागू होती हैं [SWS_CORE_00612]। फ़ंक्शन का उपयोग करने के लिए, हेडर फ़ाइल ara/core/exception.h को शामिल (include) किया जाना चाहिए [SWS_CORE_00612]।
त्रुटि हैंडलिंग और समवर्तीता
Ausnahmesicherheit: ऑपरेशन को noexcept के रूप में घोषित किया गया है और अपवाद-सुरक्षित (exception safe) के रूप में निर्दिष्ट किया गया है; यह स्वयं कोई अपवाद नहीं फेंकता है [SWS_CORE_00612]।
समवर्तीता: निष्पादन को थ्रेड-सुरक्षित (thread-safe) के रूप में निर्दिष्ट किया गया है [SWS_CORE_00612]। इस प्रकार समानांतर थ्रेड्स से कॉल सुरक्षित रूप से की जा सकती हैं।
यह उपयोग संबंधी निर्देश स्वचालित रूप से उत्पन्न किया गया था।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल