يحدد نطاق أخطاء SecOC-FVM ويربط رموز أخطاء محددة بنصوص الرسائل والاستثناءات.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 815063923fbeالمصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يحدد نطاق أخطاء SecOC-FVM ويربط رموز أخطاء محددة بنصوص الرسائل والاستثناءات.
تُغلِّف الفئة apext::com::secoc::ComSecOcFvmErrorDomain نطاق الأخطاء لـ Freshness Value Manager في وحدة اتصالات SecOC الخاصة بـ AUTOSAR Adaptive [SWS_CM_12514]. وتربط رموز الأخطاء من ComSecOcFvmErrc بنصوص وصفية وتتيح تحويلها إلى استثناءات ComSecOcFvmException. ويتم الوصول عادةً على مستوى العملية بالكامل عبر الدالة المساعدة GetComSecOcFvmErrorDomain()[SWS_CM_12521]. وإذا تم تعطيل استثناءات المترجم، تُستبعَد طريقة إنشاء الاستثناءات تلقائيًا من حل التحميل الزائد.
السياق
تحدد الفئة apext::com::secoc::ComSecOcFvmErrorDomain نطاق الأخطاء لـ Freshness Value Manager (FVM) في إطار الاتصال الآمن على متن المركبة (SecOC) لإدارة اتصالات Adaptive AUTOSAR [SWS_CM_12514] (AUTOSAR_AP_SWS_CommunicationManagement §C.2.3 «Class: ComSecOcFvmErrorDomain»). وبصفتها فئة فرعية نهائية لـ ara::core::ErrorDomain، فإنها تدمج حالات أخطاء FVM الخاصة بالنطاق في نموذج معالجة الأخطاء على مستوى المنصة لـ AUTOSAR Adaptive.
يتم إنشاء مثيل لـ ComSecOcFvmErrorDomain عبر المُنشئ الافتراضي الخالي من المعاملات [SWS_CM_12517]. ومن خلال الإعلان كـ constexpr وnoexcept، يُضمَن إمكانية حدوث إنشاء المثيل بالفعل في وقت الترجمة دون مخاطر التخصيص وبأمان كامل من حيث الاستثناءات.
أثناء التشغيل، يعمل نطاق الأخطاء عادةً كـ Singleton غير قابل للتغيير وطويل العمر في العملية (تفسير). سؤال Q-fc901552d01e33de (مفتوح) وكقاعدة عامة، لا تنشئ مكونات التطبيق والبرمجيات الوسيطة مثيلاً للنطاق محليًا، بل تستخدم المرجع الثابت [SWS_CM_12521] المقدَّم عبر GetComSecOcFvmErrorDomain(). وبما أن الدوال الأعضاء Name()[SWS_CM_12518] وMessage()[SWS_CM_12519] عديمة الحالة ومحددة كـ const noexcept، فإن الوصول المتزامن للقراءة من عدة سلاسل عمليات يكون آمنًا دون آليات مزامنة إضافية.
مسار الاستخدام
في حالة حدوث خطأ في Freshness Value Manager، تتفاعل جهات الاستدعاء مع نطاق الأخطاء وفق تسلسل محدد:
استرداد المرجع: يحصل المكون على مرجع النطاق العام باستخدام GetComSecOcFvmErrorDomain()[SWS_CM_12521].
تحديد النطاق: يمكن الاستعلام عن المعرف المخصص بشكل ثابت لنطاق الأخطاء عبر Name() لأغراض التسجيل أو التشخيص [SWS_CM_12518].
حل رسالة الخطأ: استنادًا إلى رمز خطأ تم تمريره (CodeType)، يوفر Message() مؤشرًا إلى الوصف الثابت القابل للقراءة البشرية للخطأ [SWS_CM_12519].
طرح استثناء: إذا كان مسار الخطأ سيُعالَج بالاعتماد على الاستثناءات، يُحوِّل ThrowAsException() كائن ara::core::ErrorCode إلى الاستثناء المقابل [SWS_CM_12520].
تمتلك الدوال Name()[SWS_CM_12518] وMessage()[SWS_CM_12519] أمان الاستثناءات noexcept ولا تطرح استثناءات تحت أي ظرف من الظروف. وفي حالة رموز الأخطاء الرقمية غير المعروفة، يُرجَّح أن يُرجع Message() سلسلة نصية عامة قياسية (تفسير). سؤال Q-4f9834f33957160b (مفتوح)
على النقيض من ذلك، فإن الطريقة ThrowAsException() بحكم تعريفها ليست آمنة من حيث الاستثناءات (not exception safe)، لأن مهمتها الصريحة تتمثل في إنشاء كائن ComSecOcFvmException استنادًا إلى ara::core::ErrorCode الممرَّر وطرحه [SWS_CM_12520]. ويُعد تكوين سلسلة الأدوات شرطًا مسبقًا مهمًا: إذا تم تعطيل استثناءات C++ في المترجم، فلن يشارك ThrowAsException() في حل التحميل الزائد [SWS_CM_12520]. وبالتالي، يتعين على جهات الاستدعاء في بيئات التشغيل الخالية من الاستثناءات تمثيل معالجة الأخطاء عبر ara::core::Result أو تقييمات مباشرة لرموز الأخطاء.
تم إنشاء هذا الدليل بواسطة نظام ذكاء اصطناعي بناءً على مواصفات AUTOSAR Adaptive R25-11.
Creates a new instance of apext::com::secoc::ComSecOcFvmException 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 a string constant associated with the apext::com::secoc:: ComSecOcFvmErrorDomain
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: c28253f0fde1المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُرجع الدالة العضو Name() لفئة نطاق الأخطاء apext::com::secoc::ComSecOcFvmErrorDomain ثابت سلسلة نصية يمثل مُعرّف نطاق الأخطاء هذا [SWS_CM_12518]. ويتم توفير الإعلان عبر ملف الترويسة #include "apext/com/secoc/fvm_error_domain.h"[SWS_CM_12518]. تعمل الدالة بشكل متزامن بحت، ولا تقبل أية معلمات، وتُرجع مؤشرًا إلى سلسلة نصية ثابتة من النوع const char *[SWS_CM_12518].
فيما يتعلق بمعالجة الأخطاء، تم تحديد الواجهة على أنها exception safe ومزودة بمُعرّف C++ noexcept[SWS_CM_12518]. وبالتالي، لا يمكن للاستدعاء أن يفشل ولا يطلق استثناءات C++. ولا توجد رموز أخطاء محددة، أو أوصاف استجابة، أو رسائل إلى DET أو DEM لدالة الاستعلام هذه.
نظرًا لأنها طريقة const للقراءة فقط تُرجع مؤشرًا ثابتًا إلى سلسلة نصية ثابتة، فمن المرجح أن يكون التنفيذ قابلاً لمعاودة الدخول وآمنًا بالنسبة للخيوط. سؤال Q-75fa65f59869d0ab (مفتوح) ولا توجد شروط ترتيب مقيدة لسياق الاستدعاء.
Creates a new instance of apext::com::secoc::ComSecOcFvmException 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 · درجة الحرارة: غير قابل للتحكم · الموجّه: ce36f40333e6المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
الاستخدام
تُستخدم الدالة العضو ThrowAsException لنطاق الأخطاء apext::com::secoc::ComSecOcFvmErrorDomain (SWS Communication Management §C.2.3.2.2.3 «ThrowAsException»، [SWS_CM_12520]) لتحويل رمز خطأ إلى استثناء C++. وهي تقبل كمعلمة إدخال مرجعًا إلى رمز خطأ errorCode من النوع const ara::core::ErrorCode&، وليس لها أية قيمة إرجاع. وتنشئ الدالة مثيلًا جديدًا من apext::com::secoc::ComSecOcFvmException بناءً على رمز الخطأ المُمرر وتطرحه بشكل متزامن ([SWS_CM_12520]).
معالجة الأخطاء والأمان من الاستثناءات
أُعلن عن الطريقة بـ noexcept(false) وصُنفت وفقًا للمواصفة على أنها غير آمنة من الاستثناءات (not exception safe) ([SWS_CM_12520]). وينص نمط التنفيذ المعتاد على ألا تعود الدالة بشكل طبيعي، بل تبلغ المستدعي مباشرة بالاستثناء المُنشأ apext::com::secoc::ComSecOcFvmException في حالة حدوث خطأ.
القيود
ينطبق قيد جوهري يتعلق بتهيئة المترجم على الدالة: إذا كانت استثناءات C++ معطلة في سلسلة أدوات المترجم، فإن ThrowAsException لا يشارك في حل التحميل الزائد وفقًا لـ [SWS_CORE_10304] ([SWS_CM_12520]).
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني