ara::core क्लस्टर के त्रुटि कोड्स का प्रबंधन करता है, उन्हें त्रुटि संदेशों में अनुवादित करता है और संबंधित अपवाद थ्रो करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 8500dff6850eउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
ara::core क्लस्टर के त्रुटि कोड्स का प्रबंधन करता है, उन्हें त्रुटि संदेशों में अनुवादित करता है और संबंधित अपवाद थ्रो करता है।
वर्ग ara::core::CoreErrorDomain कार्यात्मक क्लस्टर ara::core से उत्पन्न त्रुटियों के लिए त्रुटि डोमेन का प्रतिनिधित्व करता है और संख्यात्मक त्रुटि कोड्स को विवरणात्मक पाठ संदेश निर्दिष्ट करता है [SWS_CORE_05243]। इसके अतिरिक्त, यह ThrowAsException() के माध्यम से त्रुटि कोड्स को प्रकार-विशिष्ट CoreException-अपवादों में परिवर्तित करने में सक्षम बनाता है [SWS_CORE_05244]। चूंकि सभी क्वेरी विधियां थ्रेड-सुरक्षित और constexpr-निर्माण योग्य हैं, इसलिए यह डोमेन कुशल क्लस्टर-व्यापी उपयोग के लिए उपयुक्त है। यदि टूलचेन में C++ अपवाद अक्षम हैं, तो अपवाद विधि ओवरलोड रिज़ॉल्यूशन में भाग नहीं लेती है।
संदर्भ
वर्ग ara::core::CoreErrorDomain उन सभी त्रुटि स्थितियों के लिए विशिष्ट त्रुटि डोमेन का प्रतिनिधित्व करता है, जिनकी उत्पत्ति कार्यात्मक क्लस्टर ara::core में हुई है। इसे ErrorDomain के अंतिम विशेषज्ञता के रूप में परिभाषित किया गया है और इस प्रकार यह आगे के व्युत्पन्न को रोकता है। यह वर्ग विधि Name() के माध्यम से डोमेन का अद्वितीय संक्षिप्त नाम प्रदान करता है [SWS_CORE_05242]। AUTOSAR त्रुटि प्रबंधन मॉडल में सुसंगत एकीकरण के लिए CoreErrorDomain केंद्रीय प्रकार उपनामों (type aliases) को परिभाषित करता है: Errc एक उपनाम के रूप में सीधे गणना CoreErrc को संदर्भित करता है [SWS_CORE_05231], जबकि Exception संबंधित आधार अपवाद वर्ग CoreException के लिए उपनाम बनाता है [SWS_CORE_05232]। सबसे महत्वपूर्ण इंटरैक्शन पार्टनर्स में ErrorCode प्रकार के जेनेरिक त्रुटि कैप्सूल शामिल हैं, जो संबंधित त्रुटि डोमेन का संदर्भ रखते हैं, साथ ही निष्पादन घटक जो त्रुटि स्थितियों का निदान या प्रबंधन करते हैं।
जीवनचक्र
CoreErrorDomain का निर्माण पैरामीटरहीन मानक कंस्ट्रक्टर constexpr CoreErrorDomain() noexcept[SWS_CORE_05241] के माध्यम से किया जाता है। चूंकि कंस्ट्रक्टर को constexpr और noexcept के रूप में घोषित किया गया है, इसलिए इंस्टेंस को कंपाइल समय पर बिना किसी आवंटन ओवरहेड या अपवाद के जोखिम के निर्मित किया जा सकता है।
Interpretation: चूंकि AUTOSAR Adaptive मानक में त्रुटि डोमेन स्थितिहीन (stateless) परिकल्पित हैं और विशेष रूप से स्थिर मेटाडेटा और रूपांतरण तर्क प्रदान करते हैं, इसलिए सिस्टम में आम तौर पर एक वैश्विक या स्थिर सिंगलटन इंस्टेंस मौजूद होने की संभावना है, जिसे क्लस्टर-व्यापी एक्सेस किया जाता है। प्रश्न Q-7b4761bf124c5755 (खुला) इंस्टेंस प्रक्रिया के संपूर्ण रनटाइम के दौरान मान्य रहता है। संगामी निष्पादन (concurrency) के संबंध में, वर्ग के संचालन थ्रेड-सुरक्षित निर्दिष्ट हैं [SWS_CORE_05241], [SWS_CORE_05242], [SWS_CORE_05243], जिससे अतिरिक्त सिंक्रोनाइज़ेशन उपायों के बिना कई समानांतर थ्रेड्स से समवर्ती क्वेरी की अनुमति मिलती है।
उपयोग पथ
चल रहे संचालन में, CoreErrorDomain से मुख्य रूप से दो विशिष्ट परिदृश्यों में रनटाइम सिस्टम या अनुप्रयोग कोड द्वारा परामर्श लिया जाता है: शाब्दिक त्रुटि निरीक्षण और अपवाद प्रबंधन के लिए।
यदि कोई त्रुटि उत्पन्न होती है, तो संख्यात्मक त्रुटि कोड पास करके सदस्य फ़ंक्शन Message() के माध्यम से संबंधित पाठ संदेश प्राप्त किया जा सकता है [SWS_CORE_05243]। विनिर्देश बाध्यकारी रूप से आश्वासन देता है कि यह फ़ंक्शन कभी भी शून्य पॉइंटर (nullptr) नहीं लौटाता है, ताकि लौटाए गए const char* का उपयोग निदान आउटपुट या लॉगिंग के लिए सुरक्षित रूप से किया जा सके। यदि किसी त्रुटि को रिटर्न मान के रूप में नहीं संभाला जाना है, बल्कि C++ अपवाद के रूप में प्रसारित किया जाना है, तो इसके लिए विधि ThrowAsException() काम आती है [SWS_CORE_05244]। यह एक ErrorCode इंस्टेंस स्वीकार करती है, संगत CoreException को इंस्टेंटिएट करती है और इसे वर्तमान कॉल स्टैक में थ्रो करती है।
फ़ंक्शन Name() और Message() तथा कंस्ट्रक्टर noexcept के रूप में घोषित हैं और अपवाद-सुरक्षित के रूप में वर्गीकृत हैं [SWS_CORE_05241], [SWS_CORE_05242], [SWS_CORE_05243]। वे त्रुटि स्थितियों के तहत भी कोई अपवाद थ्रो नहीं करते हैं और कोई स्वयं का त्रुटि कोड उत्पन्न नहीं करते हैं।
इसके विपरीत, ThrowAsException() स्पष्ट रूप से noexcept(false) के साथ चिह्नित है और गैर-अपवाद-सुरक्षित के रूप में चिह्नित है, क्योंकि एक अपवाद (प्रकार CoreException का) को नियतात्मक रूप से थ्रो करना इस इंटरफ़ेस का प्राथमिक कार्य है [SWS_CORE_05244]। एक केंद्रीय वास्तुशिल्प पूर्व शर्त लागू होती है: यदि उपयोग किए गए टूलचेन या कंपाइलर सेटिंग्स में C++ अपवाद अक्षम हैं, तो इस फ़ंक्शन को ओवरलोड रिज़ॉल्यूशन में भाग नहीं लेना चाहिए [SWS_CORE_05244]। यह उन सिस्टम परिवेशों में संकलन त्रुटियों को रोकता है जो C++ अपवाद प्रबंधन के बिना दोष-सहिष्णु एम्बेडेड दृष्टिकोण का पालन करते हैं।
यह मार्गदर्शिका विनिर्देश R25-11 के आधार पर एक AI सिस्टम द्वारा तैयार की गई थी।
Throw the exception type corresponding to the given ErrorCode.
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: c5a4846a6615उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
वर्ग ara::core::CoreErrorDomain (हेडर ara/core/core_error_domain.h में परिभाषित) का सदस्य फ़ंक्शन ThrowAsException पास किए गए त्रुटि कोड [SWS_CORE_05244] के आधार पर C++ अपवाद को सिंक्रोनस रूप से ट्रिगर करने के लिए उपयोग किया जाता है। पैरामीटर के रूप में, फ़ंक्शन ErrorCode के एक स्थिर इंस्टेंस का संदर्भ प्राप्त करता है (const ErrorCode &errorCode) [SWS_CORE_05244]। विधि का कोई रिटर्न मान नहीं होता है, बल्कि यह सीधे CoreException प्रकार का अपवाद फेंकती है, जो पास किए गए ErrorCode ऑब्जेक्ट को पूरी तरह से समाहित करता है [SWS_CORE_05244]।
निष्पादन संदर्भ, समवर्तीता और कंपाइलर शर्तों के संबंध में निम्नलिखित आवश्यकताएं लागू होती हैं:
थ्रेड-सुरक्षा: फ़ंक्शन को थ्रेड-सुरक्षित (thread-safe) के रूप में निर्दिष्ट किया गया है और इस प्रकार इसे समवर्ती संदर्भों से सुरक्षित रूप से कॉल किया जा सकता है [SWS_CORE_05244]।
अपवाद-सुरक्षा: व्यवहार औपचारिक रूप से गैर-अपवाद-सुरक्षित (not exception safe) के रूप में वर्गीकृत है, क्योंकि फ़ंक्शन noexcept(false) के साथ घोषित है और इरादे के अनुसार एक अपवाद फेंकता है [SWS_CORE_05244]।
कंपाइलर प्रतिबंध: यदि कंपाइलर टूलचेन में C++ अपवाद अक्षम हैं, तो विधि [SWS_CORE_10304] के अनुसार ओवरलोड रिज़ॉल्यूशन में भाग नहीं ले सकती है [SWS_CORE_05244]।
आर्किटेक्चर संरचना में, विधि अमूर्त वर्ग ara::core::ErrorDomain[SWS_CORE_00154] के विशुद्ध वर्चुअल बेस फ़ंक्शन ThrowAsException को ओवरराइड करती है (override)। विशिष्ट अनुप्रयोग में, फ़ंक्शन को सीधे डोमेन ऑब्जेक्ट पर कॉल नहीं किया जाता है, बल्कि सहायक विधि ErrorCode::ThrowAsException() के माध्यम से ट्रिगर किया जाता है, जो कॉल को this->Domain().ThrowAsException(*this) के माध्यम से गतिशील रूप से संबंधित त्रुटि डोमेन पर अग्रेषित करती है [SWS_CORE_00519]।
यह उपयोग नोट AUTOSAR Adaptive R25-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
CoreException an exception containing the given ErrorCode
Hinweise: This function shall not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain. As per [SWS_CORE_10304]
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल