DEENESPTFRRUARHIKOZHNL

فئة ara::com::ComException

[SWS_CM_11327] Upstream: RS_AP_00130, RS_AP_00122, RS_AP_00127

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

Defines a class for exceptions to be thrown by the API.

Header-Datei#include "ara/com/com_error_domain.h"
Forwarding-Header#include "ara/com/com_fwd.h"
Scopenamespace ara::com
Basisklasse(n)ara::core::Exception

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

تُستخدم كفئة استثناء لـ API لتغليف أخطاء إدارة الاتصال والإبلاغ عنها عبر رموز الأخطاء.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: becb2133e102 المصدر أسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم كفئة استثناء لـ API لتغليف أخطاء إدارة الاتصال والإبلاغ عنها عبر رموز الأخطاء.

تُستخدم الفئة ara::com::ComException في AUTOSAR Adaptive كفئة استثناء مركزية للإشارة إلى الأخطاء عند استدعاءات API الخاصة بالاتصال [SWS_CM_11327]. تقوم بتغليف ara::core::ErrorCode ويتم إنشاء مثيل لها وإطلاقها عند فشل العمليات، مع تعريف منشئها بأنه آمن ضد الاستثناءات وغير طارح [SWS_CM_11328]. وإذا تم تعطيل استثناءات C++‎ في سلسلة أدوات المترجم، تُستبعد الأحمال الزائدة لـ API الطارحة المقابلة تماماً من دقة التحميل الزائد. يلتقط المستدعون كائن الاستثناء لتحليل رمز الخطأ المتضمن واتخاذ تدابير معالجة الخطأ.

السياق

تُستخدم الفئة ara::com::ComException في الوحدة com لـ AUTOSAR Adaptive Platform كفئة استثناء متخصصة للإشارة إلى الأخطاء عند استدعاءات API الخاصة بالاتصال [SWS_CM_11327]. وترث علناً من الفئة الأساسية ara::core::Exception ومُصرَّح عنها كـ final. يوضح هذا التكامل المباشر في معمارية معالجة الأخطاء الشاملة لـ Adaptive Platform. ومن خلال تمييزها كـ final، يُرجَّح أن الفئة مصممة كنوع استثناء محكم ومختوم ليس مخصصاً لمزيد من التسلسل الهرمي للاشتقاق. سؤال Q-2454b5b73295287b (مفتوح)

تتمثل المهمة الأساسية لـ ara::com::ComException في تغليف حالة خطأ حدثت في شكل ara::core::ErrorCode ونقلها عبر آلية استثناءات C++‎ إلى الطبقات المستدعية [SWS_CM_11328]. يتم توفير التصريح والتعريف عبر الترويسة #include "ara/com/com_error_domain.h" [SWS_CM_11328]. ويعمل كأطراف تفاعل مركزية في ذلك كل من برمجيات التطبيق المستخدمة، ودوال الخدمة وAPI الداخلية لإدارة الاتصال، بالإضافة إلى أنواع نطاق الخطأ ara::core::ErrorCode.

دورة الحياة

تبدأ دورة حياة كائن ara::com::ComException في تنفيذ دالة API لإدارة الاتصال بمجرد فشل عملية ما وإنشاء مثيل للاستثناء وإطلاقه AUTOSAR_AP_SWS_CommunicationManagement §8.12.5 «Class: ComException». ويتم الإنشاء عبر المنشئ الصريح، الذي يتولى كائن ara::core::ErrorCode المسبب [SWS_CM_11328].

هذا المنشئ مُصرَّح عنه بـ noexcept ويمتلك الخاصية exception safe [SWS_CM_11328]. يضمن ذلك عدم إمكانية حدوث استثناءات أخرى أثناء بناء كائن الاستثناء نفسه. وبعد الإطلاق عبر throw، يتم نقل الكائن كجزء من عملية فض المكدس (Stack Unwinding) حتى يتم ربطه في كتلة catch مطابقة في الطبقة المستدعية. وفيما يتعلق بعلاقات الملكية، يتم تدمير المثيل تلقائياً على المكدس بعد مغادرة الكتلة المعالِجة. لا تُظهر الفئة أي انتقالات حالة داخلية بمفهوم آلة الحالة؛ وتظل حالتها غير قابلة للتغيير بعد التهيئة الأولية برمز الخطأ.

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

يصف مسار الاستخدام النموذجي تسلسل اكتشاف الخطأ وإطلاق الاستثناء والمعالجة اللاحقة:

  1. تستدعي دالة تطبيق عملية ما من واجهة ara::com.
  2. إذا حدث خطأ أثناء المعالجة، يُنشئ تنفيذ API مثيلاً جديداً من ara::com::ComException من errorCode المرتبط ويطلقه AUTOSAR_AP_SWS_CommunicationManagement §8.12.5 «Class: ComException».
  3. يلتقط التطبيق الاستثناء في كتلة مناسبة. ويُرجَّح أن يتم الالتقاط من جانب التطبيق عبر مرجع ثابت (const ara::com::ComException&) لتجنب عمليات النسخ. سؤال Q-5270e026eeac8be7 (مفتوح)
  4. عبر واجهة الفئة الأساسية، يصل المستدعي إلى ara::core::ErrorCode المتضمَّن وينفذ خطوات التشخيص أو التعويض [SWS_CM_11328].
تسلسل معالجة الاستثناءات باستخدام ComExceptionالتطبيقara::com-LaufzeitComExceptionتنفيذ استدعاء API()Kommunikationsfehler erkanntComException(errorCode) instanziierenthrow ComExceptionالتقاط (const ara::com::ComException&) وتقييم رمز الخطأ

مخطط التتابع: تسلسل اكتشاف الخطأ وإنشاء مثيل لـ ara::com::ComException ومعالجته. المصادر: [SWS_CM_11327]، [SWS_CM_11328]، AUTOSAR_AP_SWS_CommunicationManagement §8.12.5 «Class: ComException»

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

في سياق معالجة الأخطاء وتكوين سلسلة الأدوات، تسري الشروط والحالات الحدية التالية:

  • استثناءات C++‎ المعطلة: عند تعطيل استثناءات C++‎ في سلسلة أدوات المترجم، لا تشارك دوال API التي تُنشئ ara::com::ComException وتطلقه في دقة التحميل الزائد وفقاً لـ [SWS_CORE_10304] AUTOSAR_AP_SWS_CommunicationManagement §8.12.5 «Class: ComException». وفي هذه الحالة، تعتمد البرمجيات المعالِجة للأخطاء على آليات إرجاع بديلة.
  • أمان النوع في المنشئ: نظراً لأن المنشئ مُصرَّح عنه كـ explicit، يتم منع تحويلات النوع الضمنية عند تمرير ara::core::ErrorCode [SWS_CM_11328].
  • الالتقاط الهرمي: نظراً لأن ara::com::ComException ترث من ara::core::Exception، يمكن للمستدعين معالجة الاستثناءات إما على وجه التحديد كـ ara::com::ComException أو بشكل عام عبر معالجات للفئة الأساسية.

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

مخطط الفئات UML

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

G nara__com__ComException152 ComException + ComException() nara__core__Exception792 Exception nara__com__ComException152->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

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

ComException دالة

Constructs a new ara::com::ComException containing an ara::core::ErrorCode

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

توثيق الدوال

دالة ComException [SWS_CM_11328] Upstream: RS_AP_00120, RS_AP_00121, RS_AP_00130

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

Constructs a new ara::com::ComException containing an ara::core::ErrorCode

Header-Datei#include "ara/com/com_error_domain.h"
Scopeclass ara::com::ComException
Exception-Sicherheitexception 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_CM_11328
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11328@rel:R25-11#793feefb
Content hash
793feefb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11328
Status: valid/unmigrated Version: rel:R25-11#5e7d893a Versionshistorie & Revisions (1 transition, 7 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_CM_11328@rel:R25-11#5e7d893a
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#ffcd75022026-09-30
  • R20-11rel:R20-11#4a6338102026-10-14
  • R21-11rel:R21-11#4a6338102026-10-14
  • R22-11rel:R22-11#17139dec2026-10-14
  • R23-11rel:R23-11#41e9e0262026-10-14
  • R24-11rel:R24-11#94963f6e2026-10-14
  • R25-11rel:R25-11#5e7d893a2026-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