Future और Promise के साथ एसिंक्रोनस ऑपरेशनों में त्रुटियों के लिए अपवाद प्रकार (exception type) के रूप में कार्य करता है और एक त्रुटि कोड (error code) को एनकैप्सुलेट करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 4af39887de1dउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
Future और Promise के साथ एसिंक्रोनस ऑपरेशनों में त्रुटियों के लिए अपवाद प्रकार (exception type) के रूप में कार्य करता है और एक त्रुटि कोड (error code) को एनकैप्सुलेट करता है।
क्लास ara::core::FutureException एक विशिष्ट अपवाद प्रकार के रूप में कार्य करती है, जिसे ara::core::Future और ara::core::Promise के संबंध में त्रुटियों के दौरान थ्रो (throw) किया जाता है [SWS_CORE_00412]। यह एक ara::core::ErrorCode को एनकैप्सुलेट करती है और इसे एक स्पष्ट कंस्ट्रक्टर (explicit constructor) के माध्यम से बनाया जाता है [SWS_CORE_00412]। एसिंक्रोनस और कॉनकconcurrent परिवेशों में सुरक्षित उपयोग के लिए, इसका इंस्टांशिएशन noexcept, थ्रेड-सुरक्षित (thread-safe) और अपवाद-सुरक्षित (exception-safe) के रूप में निर्दिष्ट है [SWS_CORE_00412]।
संदर्भ
क्लास ara::core::FutureException मॉड्यूल core के भीतर एसिंक्रोनस संचार और सिंक्रोनाइज़ेशन प्रिमिटिव्स के लिए एक समर्पित अपवाद प्रकार के रूप में कार्य करती है। अपने अभीष्ट उद्देश्य के अनुसार, यह अपवाद प्रकार एसिंक्रोनस ऑपरेशनों के संदर्भ में कॉलर को त्रुटि स्थितियों का संकेत देने के लिए ara::core::Future और साथ ही ara::core::Promise द्वारा ट्रिगर किया जाता है। संरचनात्मक रूप से, ara::core::FutureException बेस क्लास Exception से व्युत्पन्न होती है और एक डोमेन-विशिष्ट त्रुटि कोड को एनकैप्सुलेट करती है।
सहयोगात्मक परिदृश्यों में, ara::core::FutureException उत्पादक एसिंक्रोनस एंडपॉइंट (जैसे ara::core::Promise), उपभोक्ता एंडपॉइंट (ara::core::Future) और एप्लिकेशन-साइड त्रुटि प्रबंधन के बीच एक सेतु का निर्माण करता है। इन तीन सहभागियों की परस्पर क्रिया उस संरचनात्मक ढांचे को स्पष्ट करती है जिसमें त्रुटि प्रबंधन के लिए अपवाद को पारित किया जाता है।
संदर्भ आरेख (Context diagram): Promise, Future और एप्लिकेशन-थ्रेड के बीच ara::core::FutureException का एम्बेडिंग। स्रोत: [SWS_CORE_00412]
जीवनचक्र
ara::core::FutureException का इंस्टांशिएशन ara::core::ErrorCode प्रकार के त्रुटि कोड को पास करके कंस्ट्रक्टर के माध्यम से स्पष्ट रूप से (explicitly) किया जाता है [SWS_CORE_00412]। explicit के साथ घोषणा के माध्यम से, ara::core::ErrorCode से अंतर्निहित प्रकार रूपांतरण (implicit type conversion) को रोका जाता है। कंस्ट्रक्टर को noexcept के रूप में निर्दिष्ट किया गया है, जिससे यह सुनिश्चित होता है कि निर्माण स्वयं कोई अतिरिक्त अपवाद उत्पन्न नहीं कर सकता है [SWS_CORE_00412]।
निष्पादन सुरक्षा के संबंध में, क्लास को अपवाद-सुरक्षित (exception-safe) के रूप में निर्दिष्ट किया गया है [SWS_CORE_00412]। कॉनकरेंट संचालन के लिए, विनिर्देश निर्माण को स्पष्ट रूप से थ्रेड-सुरक्षित (thread-safe) के रूप में भी निर्दिष्ट करता है [SWS_CORE_00412]। यह एसिंक्रोनस ऑपरेशनों को थ्रेड सीमाओं के पार सुरक्षित रूप से अपवाद को इंस्टांशिएट करने और प्रतीक्षा कर रहे प्राप्तकर्ताओं को अग्रेषित करने की अनुमति देता है।
उपयोग पथ
विशिष्ट उपयोग वर्कफ़्लो में किसी एसिंक्रोनस ऑपरेशन के दौरान त्रुटि उत्पन्न होने से लेकर उपभोगकर्ता कॉलर द्वारा अपवाद को कैच (catch) करने तक की प्रक्रिया शामिल होती है। इसका प्रावधान आमतौर पर हेडर ara/core/future_error_domain.h[SWS_CORE_00412] के माध्यम से किया जाता है।
अनुक्रम आरेख (Sequence diagram): त्रुटि उत्पत्ति से लेकर ara::core::FutureException के इंस्टांशिएशन और उसे कैच करने तक का प्रवाह। स्रोत: [SWS_CORE_00412]
उपयोग प्रवाह निम्नलिखित चरणों में विभाजित है:
ara::core::Promise या ara::core::Future के संबंध में एसिंक्रोनस प्रोसेसिंग के दौरान विफलता या अमान्य स्थिति का पता लगाना।
विशिष्ट ara::core::ErrorCode[SWS_CORE_00412] को निर्दिष्ट करते हुए कंस्ट्रक्टर के माध्यम से ara::core::FutureException का निर्माण।
उपभोक्ता थ्रेड को अपवाद का संचरण, जहाँ इसे try-catch ब्लॉक के हिस्से के रूप में कैच किया जाता है और निहित त्रुटि का विश्लेषण किया जाता है।
त्रुटि परिदृश्य
चूंकि ara::core::FutureException स्वयं त्रुटि संकेतन का माध्यम प्रस्तुत करता है, त्रुटि परिदृश्य केवल इसके स्वयं के निर्माण की शर्तों तक सीमित हैं। कंस्ट्रक्टर को noexcept के रूप में चिह्नित किए जाने के कारण यह सुनिश्चित होता है कि ऑब्जेक्ट निर्माण के दौरान द्वितीयक अपवाद के रूप में कोई निष्पादन त्रुटि उत्पन्न नहीं हो सकती [SWS_CORE_00412]। निर्माण के लिए एक पूर्व शर्त के रूप में पैरामीटर err[SWS_CORE_00412] के रूप में ara::core::ErrorCode प्रकार के एक मान्य ऑब्जेक्ट का पास किया जाना आवश्यक है। यदि ara::core::Future या ara::core::Promise के साथ कार्य करते समय कोई त्रुटि उत्पन्न होती है, तो यह अपवाद इस त्रुटि कोड को बिना किसी परिवर्तन के उच्च-स्तरीय कॉलों तक ले जाने के उद्देश्य को पूरा करता है।
यह गाइड 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 · जर्मन मूल