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