एक विशिष्ट त्रुटि कोड का उपयोग करके दृढ़ता मॉड्यूल से त्रुटियों के एनकैप्सुलेशन और सिग्नलिंग का कार्य करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: abab05ca22f0उद्गमखुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
एक विशिष्ट त्रुटि कोड का उपयोग करके दृढ़ता मॉड्यूल से त्रुटियों के एनकैप्सुलेशन और सिग्नलिंग का कार्य करता है।
वर्ग ara::per::PerException AUTOSAR Adaptive Platform में दृढ़ता मॉड्यूल से त्रुटियों को संकेतित करने के लिए एक विशिष्ट अपवाद प्रकार के रूप में कार्य करता है। यह हेडर ara/per/per_error_domain.h के माध्यम से प्रदान किया जाता है और बेस क्लास ara::core::Exception[SWS_PER_00355] से इनहेरिट करता है। इंस्टेंसिएशन स्पष्ट रूप से एक ara::core::ErrorCode पास करके किया जाता है, जो ठोस त्रुटि कारण को समाहित करता है। कंस्ट्रक्टर को noexcept के रूप में घोषित करने से, निर्माण पूरी तरह से अपवाद-सुरक्षित होने के साथ-साथ थ्रेड-सुरक्षित निर्दिष्ट है [SWS_PER_00355]।
संदर्भ
वर्ग ara::per::PerException रिलीज़ R25-11 में AUTOSAR Adaptive Platform के भीतर दृढ़ता के कार्यात्मक क्लस्टर (मॉड्यूल per) के लिए केंद्रीय, विशिष्ट अपवाद प्रकार के रूप में कार्य करता है। अपने औपचारिक सिंटैक्स के अनुसार, वर्ग सार्वजनिक रूप से सामान्य बेस अपवाद ara::core::Exception से प्राप्त होता है। इसका प्राथमिक उत्तरदायित्व दृढ़ता सबसिस्टम से गंभीर या सीधे नियमित रिटर्न मानों के माध्यम से नियंत्रित न होने वाली त्रुटि स्थितियों को उच्च-स्तरीय एप्लिकेशन परतों को संकेतित करना है। वर्ग को हेडर ara/per/per_error_domain.h[SWS_PER_00355] में परिभाषित किया गया है। आर्किटेक्चर में, यह प्लेटफ़ॉर्म के त्रुटि प्रबंधन बुनियादी ढांचे के साथ निकटता से इंटरैक्ट करता है, जिसमें प्रत्येक इंस्टेंस सटीक त्रुटि निदान के लिए एक ara::core::ErrorCode का वहन करता है [SWS_PER_00355]।
जीवनचक्र
ara::per::PerException ऑब्जेक्ट का जीवन चक्र सीधे दृढ़ता ऑपरेशनों के भीतर किसी त्रुटि का पता लगाने और अग्रेषित करने से जुड़ा होता है। इंस्टेंसिएशन एक स्पष्ट कंस्ट्रक्टर के माध्यम से होता है जो ara::core::ErrorCode प्रकार का ठीक एक पैरामीटर स्वीकार करता है [SWS_PER_00355]। यह कंस्ट्रक्टर त्रुटि कोड से अंतर्निहित प्रकार रूपांतरणों को रोकने के लिए explicit के रूप में घोषित किया गया है, और विनिर्देश noexcept[SWS_PER_00355] के साथ प्रदान किया गया है। यह सुनिश्चित करता है कि अपवाद ऑब्जेक्ट के निर्माण के दौरान कोई अन्य अपवाद नहीं हो सकता है; इस प्रकार निर्माण पूरी तरह से अपवाद-सुरक्षित (exception safe) है [SWS_PER_00355]।
समवर्तीता के संबंध में, ara::per::PerException का निर्माण थ्रेड-सुरक्षित (thread-safe) के रूप में निर्दिष्ट है [SWS_PER_00355]। कंस्ट्रक्टर को कॉल करने के बाद, ऑब्जेक्ट को कॉल स्टैक के साथ फेंक दिया जाता है। स्वामित्व और विनाश अपवाद प्रबंधन के लिए मानक C++ नियमों का पालन करते हैं: ऑब्जेक्ट रनटाइम सिस्टम के मेमोरी क्षेत्र में तब तक बना रहता है जब तक कि पकड़ने वाला catch ब्लॉक समाप्त नहीं हो जाता, और फिर नियतात्मक रूप से नष्ट हो जाता है।
उपयोग पथ
ara::per::PerException का उपयोग करते समय सामान्य प्रवाह को निम्नलिखित चरणों में विभाजित किया गया है:
त्रुटि पहचान और कोड निर्माण: दृढ़ता मॉड्यूल एक अमान्य स्थिति या स्टोरेज ऑपरेशन की विफलता की पहचान करता है और इसे एक संबंधित ara::core::ErrorCode में मैप करता है।
इंस्टेंसिएशन: इस त्रुटि कोड को पास करके, अपवाद ऑब्जेक्ट स्पष्ट रूप से PerException(errorCode)[SWS_PER_00355] के माध्यम से बनाया जाता है।
अपवाद को ट्रिगर करना: दृढ़ता सबसिस्टम प्रभावित फ़ंक्शन इंटरफ़ेस से अपवाद इंस्टेंस को फेंकता है।
पकड़ना और मूल्यांकन: कॉलिंग एप्लिकेशन ऑब्जेक्ट को विशेष रूप से ara::per::PerException के रूप में या बहुरूपी रूप से ara::core::Exception या std::exception के रूप में पकड़ता है। Interpretation: एप्लिकेशन को तब बेस क्लास से विरासत में मिले एक्सेस विधियों के माध्यम से एनकैप्सुलेटेड ara::core::ErrorCode को पढ़ना चाहिए ताकि लक्षित त्रुटि निवारण उपाय शुरू किए जा सकें। प्रश्न Q-6e48fd125d9938d8 (खुला)
त्रुटि परिदृश्य
चूंकि ara::per::PerException त्रुटियों के प्रतिनिधित्व के लिए कार्य करता है, त्रुटि परिदृश्यों में ऑब्जेक्ट निर्माण की मजबूती और त्रुटि जानकारी की अखंडता सबसे आगे होती है। एक आवश्यक पूर्व शर्त के रूप में, कंस्ट्रक्टर को इनपुट पैरामीटर के रूप में एक मान्य ara::core::ErrorCode की आवश्यकता होती है [SWS_PER_00355]। चूंकि कंस्ट्रक्टर को noexcept घोषित किया गया है, यह बाहर रखा गया है कि त्रुटि रिपोर्टिंग के दौरान द्वितीयक अपवाद उत्पन्न हों [SWS_PER_00355]। इसके अतिरिक्त, निर्दिष्ट थ्रेड-सुरक्षा गारंटी देती है कि कई निष्पादन थ्रेड्स में समानांतर त्रुटियों के साथ भी कोई डेटा भ्रष्टाचार या असंगठित दुष्प्रभाव नहीं होते हैं [SWS_PER_00355]।
यह मार्गदर्शिका विशेष रूप से AUTOSAR Adaptive Platform रिलीज़ R25-11 के विनिर्देश डेटा पर आधारित है।
UML क्लास आरेख
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल