DEENESPTFRRUARHIKOZHNL

فئة ara::exec::ExecException

[SWS_EM_02282] Upstream: RS_AP_00130, RS_AP_00122, RS_AP_00127, RS_AP_00154, RS_AP_00150, RS_AP_00140

class ExecException final :          public ara::core::Exception {...};

Defines a class for exceptions to be thrown by the Execution Management.

Header-Datei#include "ara/exec/exec_error_domain.h"
Forwarding-Header#include "ara/exec/exec_fwd.h"
Scopenamespace ara::exec
Basisklasse(n)ara::core::Exception

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

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

يغلّف رموز أخطاء Execution Management كاستثناء C++‎ لمعالجة الأخطاء بشكل متزامن.

تُستخدم الفئة ara::exec::ExecException كفئة استثناء نهائية لـ Execution Management لتغليف أخطاء الوحدة المحددة والإشارة إليها عبر آلية استثناءات C++‎. في حالة حدوث خطأ، يتم إنشاء الحالات وطرحها عبر المنشئ الآمن بالنسبة للخيوط مع تحديد ara::core::ErrorCode، وبعد ذلك تقوم جهات الاستدعاء بالتقاطها وتحليلها [SWS_EM_02283]. كقيد أساسي، تم تحديد عملية الإنشاء على أنها noexcept، مما يضمن بقاء إنشاء الكائن آمنًا من الاستثناءات [SWS_EM_02283]. يجب تجنب الاستثناءات غير المعالجة لأنها تؤدي إلى إنهاء النظام.

السياق

تمثل الفئة ara::exec::ExecException فئة الاستثناء المركزية للوحدة Execution Management (exec) ضمن AUTOSAR Adaptive Platform. وفقًا لمواصفاتها، فإنها تعمل كغلاف للاستثناءات التي يتم إطلاقها بواسطة Execution Management. يُعرّف إعلان الفئة إياها على أنها final مع اشتقاق عام من فئة الاستثناء الأساسية القياسية ara::core::Exception، وبذلك تندمج بسلاسة في مفهوم الاستثناءات ومعالجة الأخطاء الموحد في Adaptive Platform. ومن خلال المعرّف final، يُستبعد أي تخصيص إضافي أو تصنيف فرعي.

يتم الإعلان عن فئة الاستثناء في ملف الترويسة #include "ara/exec/exec_error_domain.h" [SWS_EM_02283]. تكمن المسؤولية الوظيفية الأساسية لـ ara::exec::ExecException في نقل حالات الأخطاء الخاصة بالوحدة عبر آلية استثناءات C++‎. تفسير: يُرجح أن طرح هذا الاستثناء يدخل حيز التنفيذ بشكل أساسي في بيئات التنفيذ التي لا يتم فيها نشر حالات أخطاء Execution Management فقط عبر أنواع أخطاء قائمة على القيمة، بل عندما يكون إنهاء تدفق التحكم المتزامن عبر استثناءات C++‎ مطلوبًا. سؤال Q-8faec8c282524965 (مفتوح)

دورة الحياة

تبدأ دورة حياة حالة من ara::exec::ExecException بالإنشاء الصريح مع تمرير رمز خطأ. ينشئ المنشئ explicit ExecException(ara::core::ErrorCode errorCode) noexcept كائن استثناء جديد يغلّف رمز الخطأ المُمرر [SWS_EM_02283]. يضمن التمييز كـ noexcept أن إنشاء الكائن نفسه يظل خاليًا من الفشل بشكل مضمون حتى في سياق معالجة أخطاء قائمة بالفعل ولا يطلق أي أخطاء متعاقبة لاحقة [SWS_EM_02283].

فيما يتعلق بأمان التنفيذ، فإن عملية الإنشاء مصنفة صراحةً على أنها آمنة من الاستثناءات («exception safe») وآمنة بالنسبة للخيوط («thread-safe») [SWS_EM_02283]. يتيح ذلك الإنشاء الموثوق لحالات الاستثناء عبر خيوط مختلفة، دون الحاجة إلى آليات مزامنة إضافية. بعد الإطلاق عبر throw، ينتقل الكائن إلى إدارة نظام تشغيل C++‎. تفسير: يحدث تدمير كائن الاستثناء تلقائيًا بعد مغادرة كتلة catch المعالجة في سياق تفكيك المكدس (Stack-Unwinding) المعتاد، ولهذا السبب لا يلزم إدارة صريحة لدورة الحياة بواسطة المتصل. سؤال Q-ec22ad5f177555aa (مفتوح)

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

يتضمن مسار الاستخدام النموذجي لـ ara::exec::ExecException إنشاء الحالة عند حدوث خطأ داخل Execution Management بالإضافة إلى الالتقاط المضبوط في سياق التطبيق المستدعي:

  • تحديد الخطأ وإنشاء الحالة: في حال حدوث حالة استثنائية في Execution Management، يتم تمثيل السبب في ara::core::ErrorCode لنطاق الخطأ المقترن ويُستخدم للتهيئة الصريحة لـ ara::exec::ExecException [SWS_EM_02283].
  • الإشارة: يتم طرح حالة الاستثناء التي تمت تهيئتها، مما يؤدي إلى قطع مسار التنفيذ العادي وبدء تفكيك المكدس.
  • الالتقاط: تلتقط المكونات المستدعية كائن الاستثناء إما بشكل مستهدف كـ const ara::exec::ExecException& أو بشكل أكثر عمومية عبر الفئة الأساسية متعددة الأشكال const ara::core::Exception&.
  • التقييم: تفسير: نظرًا لأن الكائن تم إنشاؤه باستخدام ara::core::ErrorCode [SWS_EM_02283] ويرث من ara::core::Exception، فمن المرجح أن يستخرج المستلم رمز الخطأ المضمّن عبر واجهات الفئة الأساسية لتنفيذ إجراءات الاسترداد أو التسجيل الخاصة بالوحدة. سؤال Q-d4671c34f5aab6f9 (مفتوح)

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

بصفتها فئة استثناء متخصصة، تم تصميم ara::exec::ExecException لتمثيل حالات الأخطاء الحالية دون التسبب في أخطاء جديدة عند استخدامها. للإنشاء، يتطلب المنشئ تمرير ara::core::ErrorCode [SWS_EM_02283]. نظرًا لأن المنشئ مُعلن كـ noexcept، فإن أخطاء الشروط المسبقة عند إنشاء الحالة، والتي قد تعيق إنشاء كائن الاستثناء، مستبعدة [SWS_EM_02283].

يتمثل سيناريو الخطأ الجوهري على مستوى النظام في الالتقاط غير الكامل للاستثناءات المطروحة. إذا ظل استثناء تم إطلاقه بواسطة ara::exec::ExecException غير معالج على طول التسلسل الهرمي للاستدعاء، فسيتم تطبيق المعالجة الافتراضية لوقت تشغيل C++‎، مما يؤدي عادةً إلى استدعاء std::terminate وبالتالي إلى الإنهاء المبكر للعملية. لذلك، يجب على مكونات البرمجيات المتفاعلة التأكد من تأمين الاستدعاءات للوظائف التي يُحتمل أن تطرح استثناءات في Execution Management من خلال كتل try-catch مناسبة.

تم إنشاء هذا الدليل بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR Adaptive Platform R25-11.

مخطط الفئات UML

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

G nara__exec__ExecException556 ExecException + ExecException() nara__core__Exception792 Exception nara__exec__ExecException556->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

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

ExecException دالة

Constructs a new ExecException object containing an error code.

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

توثيق الدوال

دالة ExecException [SWS_EM_02283] Upstream: RS_AP_00120, RS_AP_00121, RS_AP_00130, RS_AP_00159

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

Constructs a new ExecException object containing an error code.

Header-Datei#include "ara/exec/exec_error_domain.h"
Scopeclass ara::exec::ExecException
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_EM_02283
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_EM_02283@rel:R25-11#0b8f1a12
Content hash
0b8f1a12
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_ExecutionManagement.pdf#nameddest=SWS_EM_02283
Status: valid/unmigrated Version: rel:R25-11#f57f2491 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_EM_02283@rel:R25-11#f57f2491
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#7afdb8d92026-09-30
  • R19-11rel:R19-11#5683c5ea2026-10-14
  • R20-11rel:R20-11#1a1c4d242026-10-14
  • R21-11rel:R21-11#1a1c4d242026-10-14
  • R22-11rel:R22-11#49bf1b972026-10-14
  • R23-11rel:R23-11#4052ff1d2026-10-14
  • R24-11rel:R24-11#8fa7f4222026-10-14
  • R25-11rel:R25-11#f57f24912026-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