يدير رموز الخطأ واستثناءات Freshness Value Manager لحل الأخطاء بشكل آمن لخيوط التنفيذ.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: f9b6c09fa824المصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يدير رموز الخطأ واستثناءات Freshness Value Manager لحل الأخطاء بشكل آمن لخيوط التنفيذ.
يمثل الصنف apext::tsync::TsyncFvmErrorDomain نطاق أخطاء Freshness Value Manager في الوحدة tsync، ويربط رموز الأخطاء بتوصيفات دلالية وأنواع استثناءات [SWS_TS_14206]. وهو يتيح الاستعلام الآمن لخيوط التنفيذ عن الأسماء ورسائل الأخطاء الخاصة بالنطاق، بالإضافة إلى الإطلاق الموجه للاستثناءات محددة النوع عند حدوث أخطاء وقت التشغيل [SWS_TS_14211]. وإذا تم تجميع النظام دون دعم استثناءات C++، فسيتم استبعاد دالة إطلاق الاستثناءات من عملية حل التحميل الزائد.
السياق
تُمثّل الفئة apext::tsync::TsyncFvmErrorDomain نطاق الخطأ لمدير قيمة الحداثة (FVM) داخل الوحدة tsync في AUTOSAR Adaptive Platform. وباعتبارها تخصيصًا لـ ara::core::ErrorDomain، فإنها تُوفّر السياق الدلالي لحالات الخطأ ورسائل التشخيص التي قد تنشأ أثناء إدارة قيم الحداثة والتحقق من صحتها. ومن خلال أسماء الأنواع البديلة Errc[SWS_TS_14206] وException[SWS_TS_14207]، يربط النطاق كلاً من التعداد النوعي TsyncFvmErrc ونوع الاستثناء الأساسي TsyncFvmException مباشرةً بنطاق الخطأ. وبذلك، تعمل الفئة كحلقة وصل بين الأنظمة الفرعية لـ FVM، وهياكل معالجة الأخطاء العامة مثل ara::core::ErrorCode ومكونات المزامنة الزمنية المُستخدِمة لها.
دورة الحياة
يتم إنشاء مثيلات apext::tsync::TsyncFvmErrorDomain عبر المنشئ الافتراضي [SWS_TS_14208]. تم تحديد المنشئ كـ constexpr وnoexcept، مما يتيح تهيئة آمنة من الاستثناءات بالفعل في وقت الترجمة [SWS_TS_14208]. ويتم التحرير عبر الهادم الافتراضي [SWS_TS_14201]، والذي تم تنفيذه أيضًا كـ noexcept وبشكل آمن من الاستثناءات. تفسير: كتنفيذ لنطاق خطأ في AUTOSAR، يُرجّح أن تعمل الفئة عادةً كمثيل طويل الأمد لتزويد وحدات التطبيق بمرجع دائم لحل الأخطاء. سؤال Q-c639112a0a2bed13 (مفتوح) تم تحديد جميع عمليات المراقبة بالإضافة إلى المنشئ بأنها آمنة خيطيًا [SWS_TS_14208][SWS_TS_14209][SWS_TS_14210][SWS_TS_14211]، بحيث يمكن إجراء استخدام متزامن عبر حدود الخيوط دون مزامنة خارجية.
مسار الاستخدام
يشمل مسار الاستخدام الأساسي لنطاق الخطأ كلاً من تحديد الهوية، والحل النصي لأسباب الأخطاء، بالإضافة إلى إعادة التوجيه الاختيارية كاستثناء C++:
تحديد هوية النطاق: يستعلم نظام وقت التشغيل عن معرّف نطاق الخطأ عبر الدالة Name()[SWS_TS_14209]. وتكون القيمة المُرجعة ثابتًا نصيًا مخصصًا للنطاق بشكل فريد [SWS_TS_14209].
الوصف النصي للخطأ: في حال حدوث خطأ أثناء معالجة FVM، يتم تحويل رمز الخطأ الرقمي الخاص به إلى سلسلة نصية قابلة للقراءة باستخدام Message()[SWS_TS_14210]. تفسير: يُرجّح أن نص الرسالة المُقدّم من Message() يستند إلى ثوابت نصية ثابتة، نظراً لأن الدالة مُعلنة على أنها آمنة خيطيًا وآمنة من الاستثناءات دون إدارة ديناميكية للذاكرة. سؤال Q-4cf42c080b2fae44 (مفتوح)
التصعيد كاستثناء: إذا تعذرت معالجة الخطأ الحادث محليًا، تتيح ThrowAsException()[SWS_TS_14211] تحويل ara::core::ErrorCode إلى استثناء من النوع apext::tsync::TsyncFvmException، والذي يتم إطلاقه مباشرة بعد ذلك.
مخطط تسلسلي: تسلسل إنشاء الاستثناء وإطلاقه عبر نطاق الخطأ. المصادر: [SWS_TS_14211]
سيناريوهات الأخطاء
تنقسم معالجة الأخطاء في الفئة apext::tsync::TsyncFvmErrorDomain إلى الاستعلام عن معلومات التشخيص وتمرير أخطاء وقت التشغيل:
حل الأخطاء بدون استثناءات: إن دوال الاستعلام Name()[SWS_TS_14209] وMessage()[SWS_TS_14210] آمنة تمامًا من الاستثناءات ومميزة بـ noexcept. وهي تضمن عدم التسبب في استثناءات إضافية أثناء فحص حالة الخطأ.
انتشار الأخطاء عبر الاستثناءات: تم تعريف الدالة ThrowAsException()[SWS_TS_14211] صراحةً على أنها noexcept(false) وغير آمنة من الاستثناءات، حيث يتمثل غرضها المخصص في إنشاء apext::tsync::TsyncFvmException وإطلاقه [SWS_TS_14211].
شرط حزمة الأدوات: إذا تم تعطيل استثناءات C++ في حزمة أدوات المترجم، فإن ThrowAsException() لا تشارك وفقًا للمواصفة في حل التحميل الزائد [SWS_TS_14211]. وهذا يضمن تجميع البيئات الخالية من دعم الاستثناءات بدون أخطاء.
تم إنشاء هذا الدليل بواسطة ذكاء اصطناعي بناءً على المواصفة R25-11.
Creates a new instance of apext::tsync::TsyncFvmException from errorCode and throws it. As per [SWS_CORE_10304], this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain.
Returns the message associated with the errorCode.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: cdf9e32c538cالمصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تنتمي دالة العضو [SWS_TS_14210] إلى الفئة apext::tsync::TsyncFvmErrorDomain ويتم تضمينها عبر ملف الرأس apext/tsync/fvm_error_domain.h. وتُستخدم لتحديد الوصف النصي لكود خطأ حدث بشكل متزامن. تقبل الدالة كمعلمة إدخال كود الخطأ الرقمي errorCode من النوع CodeType وتُرجع رسالة الخطأ المرتبطة به كمؤشر إلى سلسلة نصية ثابتة (const char *).
فيما يتعلق بالتزامن والتسامح مع الأخطاء، تضمن المواصفة ضمانات شاملة: تم تصنيف الطريقة كـ thread-safe وبالتالي يمكن استدعاؤها من خيوط متزامنة دون تدابير مزامنة إضافية [SWS_TS_14210]. علاوة على ذلك، تم تصنيف الدالة كـ exception safe وتزويدها بالمُعرّف noexcept، مما يستبعد إطلاق أي استثناءات أثناء التنفيذ.
في الوحدة ts توجد علاقة وثيقة بعنصر المواصفة [SWS_TS_00907]. يحدد هذا العنصر الدالة المماثلة Message لنطاق الأخطاء ara::tsync::TsyncErrorDomain في ملف الرأس ara/tsync/tsync_error_domain.h. تمتلك كلتا الواجهتين نفس التوقيع بالإضافة إلى تعهدات متطابقة فيما يتعلق بالأمان الخيطي والأمان من الاستثناءات، وتضمنان استعلامًا موحدًا لنصوص الأخطاء عبر نطاقات مختلفة.
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا بواسطة مساعد تنسيق بالذكاء الاصطناعي.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 0b576dd59ae2المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُرجع دالة العضو الثابتة Name() للفئة apext::tsync::TsyncFvmErrorDomain مؤشرًا إلى سلسلة نصية غير قابلة للتغيير (const char*) تمثل اسم نطاق الأخطاء لـ Time-Synchronization-FVM [SWS_TS_14209]. تُستخدم الدالة للاستعلام عن مُعرّف نطاق الأخطاء أثناء وقت التشغيل. يتم تنفيذ الاستدعاء بشكل متزامن وبدون معلمات، ويتطلب تضمين ملف الرأس apext/tsync/fvm_error_domain.h[SWS_TS_14209].
فيما يتعلق بسلوك الخطأ، تم الإعلان عن الواجهة كـ noexcept وتُعتبر آمنة من الاستثناءات (exception safe) [SWS_TS_14209]. وبما أنها تشير فقط إلى ثابت سلسلة نصية محفوظ بشكل ثابت، فلا يتم إرجاع أي أكواد خطأ محددة ولا تحدث أي حالات خطأ. أما بالنسبة للتزامن، فإن الطريقة مصنفة صراحةً على أنها آمنة خيطيًا (thread-safe) [SWS_TS_14209]. وبالتالي يُفترض أن تكون الاستدعاءات المتوازية من خيوط متعددة مسموحًا بها في أي وقت دون مزامنة خارجية إضافية أو آليات حماية. سؤال Q-6664ffba9d211592 (مفتوح)
في التفاعل المعماري، تتجاوز (override) الدالة واجهة تحديد نطاق الأخطاء وتكمل الدالة المماثلة من [SWS_TS_00906]. بينما يوفر [SWS_TS_00906] عبر ara/tsync/tsync_error_domain.h اسم نطاق الأخطاء ara::tsync::TsyncErrorDomain لمزامنة الوقت الأساسية، يعمل [SWS_TS_14209] على تمييز نطاق الأخطاء المتخصص apext::tsync::TsyncFvmErrorDomain. وبذلك تتبع كلتا الطريقتين نموذج الأخطاء الموحد لـ AUTOSAR Adaptive.
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR R25-11.
Creates a new instance of apext::tsync::TsyncFvmException from errorCode and throws it. As per [SWS_CORE_10304], this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 2c3e168255d0المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُستخدم دالة العضو ThrowAsException لنطاق الأخطاء apext::tsync::TsyncFvmErrorDomain لإطلاق استثناء C++ بشكل متزامن بناءً على كود خطأ ([SWS_TS_14211]). يتوفر الإعلان عبر ملف الرأس apext/tsync/fvm_error_domain.h. تأخذ الطريقة معلمة الإدخال errorCode (const ara::core::ErrorCode &)، وتنشئ نسخة من apext::tsync::TsyncFvmException محددة منها وتطلقها مباشرة ([SWS_TS_14211]). وبناءً على ذلك، فإن الدالة المحددة بـ noexcept(false) لا تمتلك أي قيمة إرجاع.
بالنسبة لسياق الاستدعاء، فإن الدالة محددة على أنها آمنة خيطيًا (thread-safe)، ولكنها مصنفة على أنها غير آمنة من الاستثناءات (not exception safe) ([SWS_TS_14211]). تفسير: يُرجح أن يعود هذا التصنيف كغير آمنة من الاستثناءات إلى حقيقة أن الإطلاق المستهدف للاستثناء يُنهي مسار التحكم المعتاد. سؤال Q-4d1dbde678635320 (مفتوح) يحدد [SWS_CORE_10304] قيدًا أساسيًا للمترجم: إذا كانت استثناءات C++ معطلة في سلسلة الأدوات (toolchain)، فلن تشارك الدالة في حل التحميل الزائد (overload resolution).
في النظام العام، تكمل الدالة معالجة الأخطاء بشكل مماثل لـ [SWS_TS_00908] من ara::tsync::TsyncErrorDomain. فبينما يتم إطلاق TsyncException هناك، يتيح ThrowAsException في نطاق أخطاء FVM التحويل الموحد لـ ara::core::ErrorCode إلى استثناء C++ ([SWS_TS_14211]).
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتستند حصريًا إلى عناصر المواصفة للإصدار R25-11.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: a1f854cf2787المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
ينشئ المنشئ الافتراضي الخالي من المعلمات TsyncFvmErrorDomain() بشكل متزامن مثيلاً جديدًا لنطاق الأخطاء apext::tsync::TsyncFvmErrorDomain[SWS_TS_14208]. ولا يتوقع أي معلمات تمرير ومصرح عنه كـ constexpr وكذلك noexcept. ولإدراجه، يجب تضمين ملف الترويسة apext/tsync/fvm_error_domain.h[SWS_TS_14208].
معالجة الأخطاء والتزامن
نظرًا لأن المنشئ محدد كـ noexcept، فلا تحدث أي استثناءات أثناء إنشاء المثيل؛ ويُعتبر التنفيذ آمنًا لخيوط المعالجة وآمنًا من الاستثناءات [SWS_TS_14208]. يقوم الكائن المنشأ بإدارة وترجمة رموز الأخطاء الخاصة بالتعداد TsyncFvmErrc[SWS_TS_14202] (اسم النوع البديل Errc[SWS_TS_14206])، والذي يتضمن الأخطاء المحددة kFVNotAvailable وkFVInitializeFailed[SWS_TS_14202].
التفاعل ودورة الحياة
يوفر مثيل النطاق واجهات لحل الأسماء والرسائل عبر Name()[SWS_TS_14209] وMessage()[SWS_TS_14210] بالإضافة إلى إطلاق استثناءات محددة النوع عبر ThrowAsException()[SWS_TS_14211] باستخدام Exception[SWS_TS_14207]. ويتم التدمير عبر الهادم الافتراضي ~TsyncFvmErrorDomain()[SWS_TS_14201]. في كود التطبيق، من المرجح أن يكون الإنشاء اليدوي المباشر نادر الضرورة؛ ويُفترض بدلاً من ذلك الحصول على المثيل المفرد العام عبر GetTsyncFvmErrorDomain()[SWS_TS_14212]. سؤال Q-411a136f0129313a (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند حصريًا إلى بيانات مواصفة AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني