DEENESPTFRRUARHIKOZHNL

فئة ara::sm::SmException

[SWS_SM_81242] Upstream: RS_AP_00119

class SmException :          public ara::core::Exception {...};

Exception type thrown by State Management.

Header-Datei#include "ara/sm/sm_error_domain.h"
Forwarding-Header#include "ara/sm/sm_fwd.h"
Scopenamespace ara::sm
Basisklasse(n)ara::core::Exception

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

تغلف رموز أخطاء State Management لتمرير الأخطاء الوظيفية الحرجة ومعالجتها كاستثناء C++‎.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 72647117def3 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تغلف رموز أخطاء State Management لتمرير الأخطاء الوظيفية الحرجة ومعالجتها كاستثناء C++‎.

تُستخدم الفئة ara::sm::SmException لتمرير الحالات الاستثنائية التي تطرأ أثناء عمليات State Management [SWS_SM_81242]. تُشتق الفئة من ara::core::Exception وتغلف ara::core::ErrorCode محدداً للتعريف الدقيق بسبب الخطأ الذي حدث. يتم إنشاؤها عبر منشئ صريح حُدد على أنه آمن خيطياً (Thread-safe) وآمن استثنائياً (Exception-safe) [SWS_SM_81243]. تلتقط التطبيقات المستدعية الكائن بشكل منظم لتحليل رمز الخطأ المتضمن وبدء تدابير الاستعادة المناسبة.

السياق

تعمل الفئة ara::sm::SmException كاستثناء مركزي لمجموعة الوظائف (Functional Cluster) ‏State Management في AUTOSAR Adaptive Platform [SWS_SM_81242]. تم تعريفها في ملف الترويسة ara/sm/sm_error_domain.h وتُشتق علناً من فئة استثناء المنصة الأساسية ara::core::Exception AUTOSAR_AP_SWS_StateManagement §8.1.4 «Class: SmException». وتُدرج مواصفة الفئة داخل الوثيقة بالحالة DRAFT [SWS_SM_81242].

في السياق المعماري، تجمع الفئة بين ثلاثة أدوار رئيسية: State Management كجهة مُطلقة للاستثناء عند فشل عمليات الحالة، وتطبيق Adaptive المستدعي كجهة معالجة، والبنية التحتية الأساسية لـ ara::core التي توفر الواجهة المشتركة لمعالجة الأخطاء. وبصفتها حاملاً لحالات الخطأ، فإنها تُستخدم لتمرير حالات الخطأ من الوحدة sm تزامناً عبر آلية استثناءات C++‎ إلى جهات التحكم العليا.

دورة الحياة

تتم تهيئة ara::sm::SmException صراحةً عبر المنشئ SmException(ara::core::ErrorCode errorCode) [SWS_SM_81243]. تم التصريح عن هذا المنشئ كـ noexcept ويتميز بخاصيتي الأمان الاستثنائي (exception safe) والأمان الخيطي (thread-safe) AUTOSAR_AP_SWS_StateManagement §8.1.4.1.1.1 «SmException». يضمن ذلك ألا يفشل إنشاء كائن الاستثناء نفسه أو يطلق استثناءات إضافية، حتى لو تم إنشاؤه في سياقات تنفيذ متزامنة.

بعد الإنشاء، يتم إطلاق النسخة عادةً بالقيمة (by value) وتُلتَقط في سياق الاستدعاء كمرجع لكائنات ثابتة (const ara::sm::SmException& أو بتعدد الأشكال كـ const ara::core::Exception&). وبما أن المواصفة لا تحدد دوال هدم (Destructors) خاصة أو إجراءات تنظيف يدوية، يُرجح وفقاً للتفسير أن يتبع تدمير كائن الاستثناء دلالات C++‎ القياسية وآليات الفئة الأساسية ara::core::Exception بالكامل بمجرد الخروج من كتلة المعالجة المعنية. سؤال Q-85b1fd2f6082db8e (مفتوح)

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

يبدأ المسار النموذجي عند إرسال مكون تطبيقي أو مكون منصة طلباً للتحكم في الحالة إلى State Management. إذا تعذر تنفيذ تغيير الحالة المطلوب داخلياً أو حدث خطأ استثنائي جسيم، تنشئ State Management نسخة من ara::sm::SmException مع تحديد ara::core::ErrorCode المقابل [SWS_SM_81243].

إرسال إشارات بالأخطاء عبر SmExceptionالتطبيقState ManagementSmExceptionتنفيذ طلب الحالةFehler identifizieren (ErrorCode)SmException(errorCode)Instanz bereitgestelltthrow SmExceptioncatch (const SmException&) وتقييم رمز الخطأ

مخطط تسلسلي: الإشعار النموذجي بخطأ ومعالجته باستخدام SmException في State Management. المصادر: [SWS_SM_81242]، [SWS_SM_81243].

يلتقط المكون المستدعي الاستثناء المُطلق في كتلة catch المقابلة. عبر الدوال الموروثة من الفئة الأساسية ara::core::Exception، يستطيع التطبيق فحص ara::core::ErrorCode المغلف لتحديد سبب الخطأ دلالياً واتخاذ تدابير موجهة لإصلاح الخطأ أو استعادة حالة النظام.

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

لا تمثل الفئة ara::sm::SmException بحد ذاتها عنصراً تشغيلياً عرضة للخطأ، بل هي الكائن الحامل الأساسي للحالات الاستثنائية ضمن State Management [SWS_SM_81242]. ويتمثل الشرط المسبق الجوهري لإنشائها في توفير كائن ara::core::ErrorCode مهيأ عند استدعاء المنشئ [SWS_SM_81243].

إذا لم يلتقط أي معالج مناسب ara::sm::SmException المُطلق في مكدس الاستدعاءات، يؤدي ذلك وفقاً لقواعد C++‎ القياسية إلى استدعاء std::terminate وبالتالي إلى الإنهاء غير المنضبط للعملية المعنية. وفي التنفيذات التي تشترط الاستغناء عن الاستثناءات لصالح ara::core::Result، يتم تجنب الإطلاق؛ أما إذا كان مسار الاستثناءات متاحاً، فإن التغليف يضمن نقل رمز الخطأ الأصلي دون تحريف لأغراض تشخيص الخطأ.

يعتمد دليل الفئة هذا على مواصفة AUTOSAR Adaptive R25-11. وتستند جميع البيانات إلى نقاط المواصفة المشار إليها.

مخطط الفئات UML

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

G nara__sm__SmException872 SmException + SmException() nara__core__Exception792 Exception nara__sm__SmException872->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

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

SmException دالة

Construct a new StateManagement exception object containing an error code.

explicit SmException (ara::core::ErrorCode errorCode) noexcept;

توثيق الدوال

دالة SmException [SWS_SM_81243] Upstream: RS_AP_00119, RS_AP_00159

explicit SmException (ara::core::ErrorCode errorCode) noexcept;

Construct a new StateManagement exception object containing an error code.

Header-Datei#include "ara/sm/sm_error_domain.h"
Scopeclass ara::sm::SmException
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
errorCodeThe error code.

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

Record
AUTOSAR/AP/record/SWS_SM_81243
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_81243@rel:R25-11#a602d2e6
Content hash
a602d2e6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_81243
Status: valid/unmigrated Version: rel:R25-11#aa947f45 Versionshistorie & Revisions (1 transition)
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_SM_81243@rel:R25-11#aa947f45
Point-in-Time History:
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