يُستخدم للإبلاغ عن أخطاء مزامنة الوقت وتغليفها في شكل استثناء مع رمز الخطأ المقترن به.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 02ba32fb22ccالمصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يُستخدم للإبلاغ عن أخطاء مزامنة الوقت وتغليفها في شكل استثناء مع رمز الخطأ المقترن به.
تُستخدم فئة الاستثناء ara::tsync::TsyncException لتغليف وتمرير الأخطاء التي تحدث أثناء مزامنة الوقت داخل Adaptive Platform. وهي مشتقة من ara::core::Exception وتأخذ إلزامياً عند إنشائها ara::core::ErrorCode محدداً يصف سبب الخطأ [SWS_TS_00903]. تم الإعلان عن المنشئ كـ noexcept، مما يضمن تنفيذ إنشاء نسخة الاستثناء بأمان استثنائي وأمان خيوط مؤكدين [SWS_TS_00903]. ويُرجح أن تلتقط التطبيقات الاستثناء في مسارات معالجة الأخطاء الخاصة بها لتقييم رمز الخطأ المتضمن بشكل هادف. سؤال (مفتوح)
السياق
تمثل الفئة ara::tsync::TsyncException فئة الاستثناء المخصصة لمجال وظائف Time Synchronization (tsync) داخل AUTOSAR Adaptive Platform. ووفقاً للمواصفة، يتم الإعلان عنها في ملف الترويسة ara/tsync/tsync_error_domain.h وتعمل كنوع مركزي لتمثيل الاستثناءات التي يتم إطلاقها بواسطة مزامنة الوقت [SWS_TS_00903]. ومن خلال الاشتقاق العام من الفئة الأساسية ara::core::Exception، تندمج بسلاسة في بنية معالجة الأخطاء على مستوى المنصة بأكملها.
في بنية النظام، تتولى ara::tsync::TsyncException دور حامل المعلومات بين مكونات تنفيذ خدمة مزامنة الوقت ووحدات التطبيق. وإذا حدث خطأ فادح في سياق المزامنة، فلن يتم تجاهله بمعزل، بل يتم الإبلاغ عنه في شكل استثناء موحد قياسياً. وتعمل الفئة في هذا الصدد بشكل وثيق مع ara::core::ErrorCode، الذي يرمز السبب المحدد للخطأ ويغلفه [SWS_TS_00903].
مخطط سياقي: تصنيف ara::tsync::TsyncException في إطار التفاعل مع Time Synchronization وara::core::ErrorCode وara::core::Exception. المصادر: [SWS_TS_00903]
دورة الحياة
تبدأ دورة حياة نسخة من ara::tsync::TsyncException بإنشاء نسختها الصريح. وتنص المواصفة لهذا الغرض على منشئ يستقبل رمز خطأ واحداً بالضبط من النوع ara::core::ErrorCode: explicit TsyncException(ara::core::ErrorCode errorCode) noexcept[SWS_TS_00903]. ومن خلال الإعلان كـ explicit، يُمنع تحويل رموز الخطأ ضمنياً وغير مقصود إلى كائنات استثناء.
تصيغ AUTOSAR ضمانات صارمة لإنشاء الكائنات: تم تحديد الإنشاء صراحة بأنه آمن من الاستثناءات (exception safe) وآمن للخيوط (thread-safe) [SWS_TS_00903]. وتضمن الكلمة المفتاحية noexcept ألا يطلق المنشئ نفسه استثناءً آخر تحت أي ظرف من الظروف [SWS_TS_00903]. وهذا أمر جوهري، حيث يتم عادةً توليد الاستثناءات في مسار معالجة الأخطاء، وسيؤدي أي إخفاق في هذه النقطة إلى حالة نظام غير خاضعة للسيطرة.
بعد الإنشاء، يخضع الكائن لدلالات استثناءات C++ المعتادة: يتم نقله عبر مكدس الاستدعاءات حتى يتم التقاطه بواسطة معالج مناسب. ومع مغادرة كتلة catch، تنتهي مدة بقاء نسخة الاستثناء، ويتم تحرير الموارد بشكل حتمي.
مسار الاستخدام
ينقسم المسار النموذجي عند استخدام ara::tsync::TsyncException إلى تحديد الخطأ، وإنشاء الكائن، والالتقاط من جانب التطبيق:
تحديد الخطأ: تحدد Time Synchronization انحرافاً أو حالة خطأ في وقت التشغيل، وتنشئ ara::core::ErrorCode مناسباً [SWS_TS_00903].
توليد الاستثناء وإطلاقه: باستخدام المنشئ، يتم إنشاء نسخة لكائن ara::tsync::TsyncException باستخدام رمز الخطأ المحدد وإطلاقه [SWS_TS_00903].
التقاط الخطأ: يلتقط المكون المستدعي الاستثناء في كتلة معالجة استثناءات مهيكلة.
يُرجح أن يعالج المطورون في تطبيقاتهم الاستثناء إما تحديداً كـ const ara::tsync::TsyncException& أو يلتقطونه بشكل متعدد الأشكال عبر الفئة الأساسية const ara::core::Exception&[SWS_TS_00903]. سؤال Q-0c8129359ef114e8 (مفتوح) وللوصول إلى تعريف النوع، يلزم تضمين ملف الترويسة ara/tsync/tsync_error_domain.h[SWS_TS_00903].
سيناريوهات الأخطاء
بوصفها فئة استثناء، تعمل ara::tsync::TsyncException على التمثيل الصريح لسيناريوهات الخطأ. والمكون المركزي هنا هو ara::core::ErrorCode المغلف، الذي يقدم معلومات مفصلة حول سبب الخطأ المحدد داخل نطاق الخطأ [SWS_TS_00903].
تتمثل إحدى السمات الأساسية في غياب المنشئ الافتراضي الخالي من المعاملات. ويضمن ذلك عدم إمكانية وجود أي نسخة استثناء بدون رمز خطأ مرتبط بها [SWS_TS_00903]. كما يضمن ضمان noexcept الخاص بالمنشئ ألا يتداخل أي خطأ استثنائي ثانوي مع تغليف الخطأ والإشارة إليه [SWS_TS_00903].
تم إنشاء هذا الدليل بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R25-11.
مخطط الفئات UML
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني