DEENESPTFRRUARHIKOZHNL

فئة ara::diag::DiagOfferException

[SWS_DM_00985] Upstream: RS_AP_00119

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

Exception type thrown by Diag classes.

Header-Datei#include "ara/diag/diag_error_domain.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag
Basisklasse(n)ara::core::Exception

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

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

يُستخدم للإشارة إلى الخطأ عبر استثناءات تحتوي على رمز خطأ عند توفير خدمات التشخيص.

تُستخدم الفئة ara::diag::DiagOfferException كنوع استثناء C++ محدد، تطرحه فئات التشخيص في AUTOSAR Adaptive Platform للإشارة إلى الأخطاء ([SWS_DM_00985]). وهي مشتقة من ara::core::Exception ويتم إنشاء مثيل لها بأمان لمؤشرات الترابط عبر مُنشئ noexcept مع تحديد ara::core::ErrorCode ([SWS_DM_00986]). يُرجح أن يحدث الاستثناء بشكل أساسي عند فشل تقديم خدمات التشخيص، ويجب التقاطه بواسطة التطبيق المستدعي لمنع الإنهاء غير المنضبط للعملية. سؤال (مفتوح)

السياق

الفئة ara::diag::DiagOfferException هي نوع استثناء مركزي لوحدة التشخيص داخل AUTOSAR Adaptive Platform ([SWS_DM_00985]، SWS Diagnostics §8.11.6 «Class: DiagOfferException»). وفقًا لمواصفاتها، فإنها تمثل استثناءً يتم إطلاقه بواسطة فئات التشخيص ("Exception type thrown by Diag classes"). تشتق الفئة علنًا من الفئة الأساسية ara::core::Exception ويتم تضمينها في التطبيقات عبر الترويسة ara/diag/diag_error_domain.h ([SWS_DM_00986]).

من بين أطراف التفاعل الأساسية الفئات الوظيفية لإدارة التشخيص، وبنية الأخطاء الأساسية لـ AUTOSAR Adaptive (الممثلة بواسطة ara::core::ErrorCode)، بالإضافة إلى برمجيات التطبيق التي تقدم خدمات التشخيص. يشير اسم الفئة إلى أن هذا الاستثناء يُستخدم على الأرجح عند فشل تقديم أو تسجيل خدمات التشخيص بواسطة فئات Diag المقابلة (تفسير). سؤال Q-47046201c9fd38c3 (مفتوح)

دورة الحياة

يتم إنشاء مثيل لـ ara::diag::DiagOfferException عبر منشئها الوحيد المحدد explicit DiagOfferException(ara::core::ErrorCode err) noexcept ([SWS_DM_00986]، SWS Diagnostics §8.11.6.1.1.1 «DiagOfferException»). وبذلك يتم ربط الاستثناء مباشرة بكود خطأ ملموس. وبما أن المنشئ مُعلن كـ noexcept، فمن المضمون عدم حدوث أخطاء أخرى أو استثناءات تعاودية أثناء إنشاء كائن الاستثناء نفسه ([SWS_DM_00986]).

فيما يتعلق بدورة الحياة، تخضع الفئة للآليات المعتادة لمعالجة استثناءات ++C: يتم إنشاؤها في ذاكرة الاستثناءات لبيئة التشغيل، وتُنقل عبر مكدس الاستدعاءات، ويتم تحريرها تلقائيًا بعد معالجة كتلة catch المعالجة. وفقًا للمواصفة، فإن الإنشاء آمن خيطيًا (thread-safe) وآمن من الاستثناءات (exception-safe) ([SWS_DM_00986]). لا يمتلك كائن الاستثناء بعد إنشائه أي تغييرات معقدة في الحالة الداخلية؛ ويُرجح أن يعمل كغلاف نقل غير قابل للتغيير لكود الخطأ الممرر (تفسير). سؤال Q-09c6e0ad610717e9 (مفتوح)

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

ينقسم المسار النموذجي لاستخدام ara::diag::DiagOfferException إلى المراحل التالية:

  • يستدعي تطبيقٌ دالةً تابعة لفئة تشخيص لتوفير خدمة تشخيص أو منفذ (عملية Offer).
  • تكتشف فئة التشخيص حالة خطأ أثناء التهيئة أو التسجيل وتقوم بإنشاء مثيل مناسب من ara::core::ErrorCode.
  • تنشئ فئة التشخيص مثيلًا من ara::diag::DiagOfferException مع تمرير كود الخطأ هذا ([SWS_DM_00986]) وتطلق هذا الاستثناء.
  • تلتقط برمجيات التطبيق المستدعية الاستثناء ضمن كتلة try-catch.
  • يستخرج المستدعي كود الخطأ من الاستثناء ويبدأ استراتيجيات مناسبة للإخفاق أو إعادة المحاولة.
معالجة الخطأ عند فشل العرض عبر DiagOfferExceptionالتطبيقDiag-KlasseDiagOfferExceptionDienst anbieten (Offer)Fehler festgestellt: ErrorCode erzeugenDiagOfferException(err)throw DiagOfferExceptioncatch (const DiagOfferException& e)تقييم ErrorCode ومعالجته

مخطط تسلسلي: المسار النموذجي عند الإشعار بخطأ ومعالجته عبر DiagOfferException. المصادر: [SWS_DM_00985]، [SWS_DM_00986].

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

يعمل ara::diag::DiagOfferException نفسه كآلية إشعار لحالات الخطأ. كشرط مسبق لإنشاء المثيل، يجب أن يتوفر للمثيل المستدعي ara::core::ErrorCode صالح ([SWS_DM_00986]). وبما أن المنشئ مُعرَّف كـ noexcept، فإن إنشاء المثيل لا يؤدي تحت أي ظرف إلى استثناءات ثانوية ([SWS_DM_00986]).

إذا لم تلتقط البرمجيات المطبقة استثناء DiagOfferException المُطلق، فإن ذلك يؤدي افتراضيًا إلى استدعاء std::terminate وبالتالي إلى انهيار غير منضبط للعملية. من خلال الوراثة من ara::core::Exception، فمن المتوقع على الأرجح أنه بالإضافة إلى الالتقاط المخصص لـ ara::diag::DiagOfferException، يمكن أيضًا تفعيل معالج عام لـ ara::core::Exception (تفسير)، لضمان تحمل قوي للأخطاء على مستوى العملية. سؤال Q-d0cf602a077c4dae (مفتوح)

يستند هذا الدليل إلى مواصفة AUTOSAR Adaptive R25-11 (الوحدة diag) وتم إنشاؤه آليًا لصالح autodocs.

مخطط الفئات UML

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

G nara__diag__DiagOfferException442 DiagOfferException + DiagOfferException() nara__core__Exception792 Exception nara__diag__DiagOfferException442->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

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

Construct a new DiagException from an ErrorCode.

explicit DiagOfferException (ara::core::ErrorCode err) noexcept;

توثيق الدوال

دالة DiagOfferException [SWS_DM_00986] Upstream: RS_AP_00119

explicit DiagOfferException (ara::core::ErrorCode err) noexcept;

Construct a new DiagException from an ErrorCode.

Header-Datei#include "ara/diag/diag_error_domain.h"
Scopeclass ara::diag::DiagOfferException
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
errthe ErrorCode

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

Record
AUTOSAR/AP/record/SWS_DM_00986
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00986@rel:R25-11#2127f432
Content hash
2127f432
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00986
Status: valid/unmigrated Version: rel:R25-11#5fd23a99 Versionshistorie & Revisions (1 transition, 4 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_DM_00986@rel:R25-11#5fd23a99
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#346e60702026-09-30
  • R23-11rel:R23-11#f79e89952026-10-14
  • R24-11rel:R24-11#5fd23a992026-10-14
  • R25-11rel:R25-11#5fd23a992026-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