DEENESPTFRRUARHIKOZHNL

فئة ara::core::FutureException

[SWS_CORE_00411] Upstream: RS_AP_00130

class FutureException :           public Exception {...};

Exception type thrown by ara::core::Future and ara::core::Promise

Header-Datei#include "ara/core/future_error_domain.h"
Forwarding-Header#include "ara/core/core_fwd.h"
Scopenamespace ara::core
Basisklasse(n)Exception

دليل المستخدممولَّد بالذكاء الاصطناعي

يُستخدم كنوع استثناء للأخطاء أثناء العمليات غير المتزامنة مع Future وPromise ويغلف رمز خطأ.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 4af39887de1d المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يُستخدم كنوع استثناء للأخطاء أثناء العمليات غير المتزامنة مع Future وPromise ويغلف رمز خطأ.

تُستخدم الفئة ara::core::FutureException كنوع استثناء محدد يتم رميه عند حدوث أخطاء مقترنة بـ ara::core::Future وara::core::Promise [SWS_CORE_00412]. وهي تغلف ara::core::ErrorCode ويتم إنشاؤها عبر منشئ فئة صريح [SWS_CORE_00412]. ومن أجل الاستخدام الآمن في البيئات غير المتزامنة والمتزامنة، تم تحديد إنشاء المثيل كـ noexcept، وآمن بالنسبة للخيوط وآمن من الاستثناءات [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)، ومعالجة الأخطاء من جانب التطبيق. ويوضح التفاعل بين هذه الأطراف الثلاثة المشاركة الإطار الهيكلي الذي يُسلّم فيه الاستثناء لمعالجة الأخطاء.

FutureExceptionKontext Promise ara::core::Promise Exception ara::core::FutureException Promise->Exception يُطلق / يضبط Future ara::core::Future Future->Exception يرمي عند حدوث خطأ AppThread Anwendungs-Thread Future->AppThread benachrichtigt Exception->AppThread يتم التقاطه بواسطة

مخطط السياق: تضمين ara::core::FutureException بين Promise وFuture وخيط التطبيق. المصادر: [SWS_CORE_00412]

دورة الحياة

يتم إنشاء مثيل ara::core::FutureException صراحةً عبر منشئ الفئة مع تمرير رمز خطأ من النوع ara::core::ErrorCode [SWS_CORE_00412]. ومن خلال التصريح بـ explicit، يتم منع تحويل النوع الضمني من ara::core::ErrorCode. وقد تم تمييز منشئ الفئة كـ noexcept، مما يضمن أن البناء نفسه لا يمكن أن يطلق استثناءات إضافية [SWS_CORE_00412].

فيما يتعلق بأمان التنفيذ، تم تحديد الفئة على أنها آمنة من الاستثناءات (exception safe) [SWS_CORE_00412]. وبالنسبة للتشغيل المتزامن، تحدد المواصفة صراحةً أن البناء آمن بالنسبة للخيوط (thread-safe) [SWS_CORE_00412]. يتيح ذلك للعمليات غير المتزامنة إنشاء مثيل للاستثناء بأمان عبر حدود الخيوط وتمريره إلى المستلمين المنتظرين.

مسار الاستخدام

يشمل مسار الاستخدام النموذجي نشوء خطأ أثناء عملية غير متزامنة وصولاً إلى التقاط الاستثناء بواسطة المستدعي المستهلك. وعادةً ما يتم توفيرها عبر الترويسة ara/core/future_error_domain.h [SWS_CORE_00412].

إرسال إشارات الخطأ عبر ara::core::FutureExceptionErzeuger (Promise)Vermittler (Future)المستقبِل (Thread)Use Case: اكتشاف الخطأ وإنشاء الحالة المثيلةحدوث خطأ غير متزامنيتم توفير ErrorCodeFehlerzustand setzenFutureException(err)Use Case: الاسترداد ومعالجة الاستثناءاتErgebnis anfordernwirft FutureExceptioncatch (FutureException&)ErrorCode auswerten

مخطط تسلسلي: مسار بدءاً من نشوء الخطأ مروراً بإنشاء مثيل ara::core::FutureException وحتى الالتقاط. المصادر: [SWS_CORE_00412]

ينقسم مسار الاستخدام إلى الخطوات التالية:

  • اكتشاف فشل أو حالة غير مسموح بها أثناء المعالجة غير المتزامنة المقترنة بـ ara::core::Promise أو ara::core::Future.
  • إنشاء ara::core::FutureException بواسطة منشئ الفئة مع تحديد ara::core::ErrorCode المعني [SWS_CORE_00412].
  • إرسال الاستثناء إلى الخيط المستهلك، حيث يتم التقاطه ضمن كتلة try-catch وتحليل الخطأ المتضمن.

سيناريوهات الأخطاء

نظراً لأن ara::core::FutureException تمثل في حد ذاتها وسيلة الإشارة إلى الخطأ، فإن سيناريوهات الخطأ تقتصر على شروط نشوئها الخاصة. ومن خلال تمييز منشئ الفئة بـ noexcept، يُضمن عدم إمكانية حدوث أي خطأ في التنفيذ على شكل استثناء ثانوي أثناء إنشاء الكائن [SWS_CORE_00412]. ويُعد الشرط المسبق للبناء هو تمرير كائن صالح من النوع ara::core::ErrorCode كمعامل err [SWS_CORE_00412]. وإذا حدث خطأ أثناء العمل مع ara::core::Future أو ara::core::Promise، فإن الاستثناء يخدم غرض نقل رمز الخطأ هذا دون تغيير إلى الاستدعاءات الأعلى.

يعتمد هذا الدليل على AUTOSAR Adaptive Platform R25-11.

مخطط الفئات UML

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__core__FutureException511 FutureException + FutureException() nara__core__Exception792 Exception nara__core__FutureException511->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

المُنشئات والمُتلف

Construct a new ara::core::FutureException from an ara::core::ErrorCode

explicit FutureException (ErrorCode err) noexcept;

توثيق الدوال

دالة FutureException [SWS_CORE_00412] Upstream: RS_AP_00130

explicit FutureException (ErrorCode err) noexcept;
Header-Datei#include "ara/core/future_error_domain.h"
Scopeclass ara::core::FutureException
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
errthe ara::core::ErrorCode

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_00412
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_00412@rel:R25-11#8f101555
Content hash
8f101555
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_00412
Status: valid/unmigrated Version: rel:R25-11#8d00af34 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_00412@rel:R25-11#8d00af34
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#38add4ec2026-09-30
  • R19-11rel:R19-11#85d2e6d42026-10-14
  • R20-11rel:R20-11#0ed7c8232026-10-14
  • R21-11rel:R21-11#0ed7c8232026-10-14
  • R22-11rel:R22-11#f9ed1ff42026-10-14
  • R23-11rel:R23-11#3515d8022026-10-14
  • R24-11rel:R24-11#7b05c81d2026-10-14
  • R25-11rel:R25-11#8d00af342026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill