DEENESPTFRRUARHIKOZHNL

فئة ara::phm::PhmException

[SWS_PHM_01242] Upstream: RS_AP_00119

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

Exception type thrown by Platform Health Management.

Header-Datei#include "ara/phm/phm_error_domain.h"
Forwarding-Header#include "ara/phm/phm_fwd.h"
Scopenamespace ara::phm
Basisklasse(n)ara::core::Exception

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

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

يغلّف رموز أخطاء Platform Health Management كاستثناء آمن بالنسبة للخيوط لعمليات الوحدة الفاشلة.

تُستخدم الفئة ara::phm::PhmException في Platform Health Management كنوع استثناء مركزي لتغليف أخطاء الوحدة المحددة وتمريرها إلى المكونات المستدعية. يتم إنشاء حالتها صراحةً عند اكتشاف الخطأ باستخدام ara::core::ErrorCode وتُطرح لتمكين معالجة منظمة للأخطاء عبر كتل catch المطابقة [SWS_PHM_01243]. كقيد أساسي، تم تحديد عملية إنشائها على أنها noexcept، وthread-safe وكذلك exception-safe، مما يستبعد الأخطاء الثانوية عند إنشاء الاستثناء [SWS_PHM_01243]. تفسير: تلتقط جهات الاستدعاء الكائن عادةً بالمرجع لتقييم رمز الخطأ المضمّن بشكل حتمي دون تخصيص ذاكرة ديناميكي. سؤال (مفتوح)

السياق

تعمل الفئة ara::phm::PhmException كنوع استثناء مخصص لـ Platform Health Management (PHM) ضمن AUTOSAR Adaptive Platform. وفقاً لتعريف الفئة، تُشتق الفئة علناً من ara::core::Exception وتمثل حلقة الوصل لإبلاغ حالات الخطأ الخاصة بالوحدة phm إلى مكونات النظام والتطبيق المستدعية عبر آلية استثناءات C++ القياسية. في بنية النظام، تتفاعل الفئة بشكل أساسي بين خدمات PHM التشغيلية، التي تنفذ وظائف المراقبة وتكتشف حالات الخطأ عند انتهاك القواعد، وإجراءات معالجة الأخطاء ذات المستوى الأعلى في التطبيق. ومن خلال التكامل في نموذج معالجة الأخطاء الأساسي لـ ara::core، يتم ضمان إمكانية نقل تقارير الأخطاء الخاصة بالمجال من Platform Health Management ومعالجتها بشكل موحد.

دورة الحياة

تبدأ دورة حياة مثيل من ara::phm::PhmException بالإنشاء الصريح للمثيل في حالة حدوث خطأ. وفقاً لـ [SWS_PHM_01243]، يتم إنشاء الكائن عبر المنشئ PhmException(ara::core::ErrorCode errorCode) مع تضمين الترويسة ara/phm/phm_error_domain.h. تم الإعلان عن الإنشاء كـ noexcept ويتميز بخاصيتي «exception safe» و«thread-safe» [SWS_PHM_01243]. يضمن ذلك أن إنشاء مثيل لكائن الاستثناء يتم بأمان حتى في ظل التزامن العالي، ولا يؤدي في أي وقت إلى إطلاق استثناءات ثانوية غير متوقعة.

يغلف الكائن ara::core::ErrorCode الممرر ويمتلك حالة غير قابلة للتغيير بعد إنشائه. أثناء تفكيك المكدس (Stack-Unwinding)، يتم نقل كائن الاستثناء بواسطة بيئة التشغيل. يحدث التدمير بشكل حتمي عند مغادرة كتلة catch المعالجة وفقاً لقواعد C++ القياسية. تفسير: يُرجح أن يتم إنشاء المثيلات عادةً مباشرةً في تعبير throw على المكدس والتقاطها عبر المرجع (const ara::phm::PhmException&)، بحيث لا يلزم وجود إدارة ديناميكية للذاكرة من جانب المستدعي. سؤال Q-37fc47021a78a0db (مفتوح)

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

يبدأ مسار الاستخدام النموذجي عندما تفشل عملية خاضعة للمراقبة من Platform Health Management أو يتم اكتشاف انحراف غير مسموح به في الحالة. تقوم دالة PHM المسببة بعد ذلك بتهيئة كائن استثناء مع رمز الخطأ المقترن وترميه من [SWS_PHM_01243]. ومن جانب المستدعي، يتم تنفيذ مقطع الشيفرة المحمي داخل كتلة try-catch. يُفترض أن التطبيقات تلتقط الاستثناء إما تحديداً كـ ara::phm::PhmException أو بشكل متعدد الأشكال عبر الفئة الأساسية ara::core::Exception. سؤال Q-54638c0dde7d9195 (مفتوح) وفي معالج الاستثناء، يتم استخراج ara::core::ErrorCode المتضمن لتحليل السبب والبدء في التدابير المضادة أو استراتيجيات التشغيل في وضع الطوارئ المناسبة.

مسار الاستخدام لإطلاق PhmException ومعالجتهالتطبيقPHM-Dienstمعالجة الأخطاءPHM-Funktionsaufrufاكتشاف خطأ داخليPhmException(errorCode) werfenAuswertung von ErrorCodeالعودة بعد معالجة الخطأ

مخطط تسلسلي: المسار النموذجي بدءاً من اكتشاف الخطأ في PHM مروراً بإطلاق ara::phm::PhmException ووصولاً إلى التقييم في المعالج. المصادر: [SWS_PHM_01243].

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

يتمثل الجزء المركزي من ara::phm::PhmException في نقل رمز الخطأ في وقت التشغيل. ويُشترط كشرط مسبق لإنشاء الكائن تمرير ara::core::ErrorCode صالح [SWS_PHM_01243]. والشرط اللاحق للاستدعاء هو كائن استثناء مهيأ بالكامل، يوفر رمز الخطأ الممرر دون تغيير للاستعلام.

نظراً لأن المنشئ محدد صراحة كـ noexcept و«exception safe» [SWS_PHM_01243]، فإن حدوث استثناءات أثناء بناء الاستثناء نفسه أمر مستبعد. وبالتالي لا يمكن حدوث فشل في إنشاء الكائن، مما يمنع الإنهاء المبكر عبر std::terminate أثناء تقرير الخطأ. وعلاوة على ذلك، تحمي أمانية الخيوط المحددة («thread-safe») من تلف البيانات عندما تبلغ عدة خيوط في وقت متزامن عن حالات خطأ عبر استثناءات خاصة بها [SWS_PHM_01243]. وبالتالي، فإن سيناريوهات الخطأ لا تخص فئة الاستثناء نفسها، بل تعكس أسباب الخطأ الوظيفية المشفرة في ara::core::ErrorCode المغلف لمجال خطأ PHM.

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

مخطط الفئات UML

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

G nara__phm__PhmException101 PhmException + PhmException() nara__core__Exception792 Exception nara__phm__PhmException101->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

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

PhmException دالة

Construct a new PlatformHealthManagement exception object containing an error code.

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

توثيق الدوال

دالة PhmException [SWS_PHM_01243] Upstream: RS_AP_00119, RS_AP_00159

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

Construct a new PlatformHealthManagement exception object containing an error code.

Header-Datei#include "ara/phm/phm_error_domain.h"
Scopeclass ara::phm::PhmException
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_PHM_01243
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PHM_01243@rel:R25-11#82453c18
Content hash
82453c18
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_PlatformHealthManagement.pdf#nameddest=SWS_PHM_01243
Status: valid/unmigrated Version: rel:R25-11#47b59c13 Versionshistorie & Revisions (1 transition, 5 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_PHM_01243@rel:R25-11#47b59c13
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#9af686bd2026-09-30
  • R22-11rel:R22-11#eabc2e272026-10-14
  • R23-11rel:R23-11#b6f2d9e42026-10-14
  • R24-11rel:R24-11#47b59c132026-10-14
  • R25-11rel:R25-11#47b59c132026-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