Diese Seite wurde vollständig KI-generiert auf Basis von SWS Raw Data Stream (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
class RdsErrorDomain final : public ara::core::ErrorDomain {...};
Error domain of Raw Data Stream.
Header-Datei
#include "ara/rds/rds_error_domain.h"
Scope
namespace ara::rds
دليل المستخدممولَّد بالذكاء الاصطناعي
تغليف رموز الأخطاء ورسائل التشخيص وأنواع الاستثناءات للعمليات في المجموعة الوظيفية لـ Raw Data Stream.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 81f3fdb4f855المصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تغليف رموز الأخطاء ورسائل التشخيص وأنواع الاستثناءات للعمليات في المجموعة الوظيفية لـ Raw Data Stream.
تمثل الفئة ara::rds::RdsErrorDomain مجال الخطأ المحدد للمجموعة الوظيفية لـ Raw Data Stream (RDS) في Adaptive Platform AUTOSAR_AP_SWS_RawDataStream §1 «Raw Data Stream». وباعتبارها تخصيصاً للفئة الأساسية ara::core::ErrorDomain، فإنها تدمج حالات الخطأ المتعلقة بالتدفق في نموذج معالجة الأخطاء الشامل للمنصة في AUTOSAR. وتشمل المهام المركزية للفئة توفير اسم مجال فريد عبر الطريقة Name()[SWS_RDS_11295] وكذلك تعيين رموز الأخطاء لرسائل تشخيصية ذات مغزى باستخدام Message()[SWS_RDS_11296].
للتعامل المتسق في كود العميل، يحدد المجال أسماء مستعارة قياسية للأنواع: يشير الاسم المستعار Errc إلى التعداد RdsErrc[SWS_RDS_11326]، بينما يرتبط الاسم المستعار للنوع Exception بنوع الاستثناء RdsException[SWS_RDS_11327]. وتتمثل أطراف التفاعل بشكل أساسي في مكونات التطبيق، ونقاط نهاية التدفق، بالإضافة إلى أنواع البنية التحتية ara::core::ErrorCode وara::core::Result، والتي تستخدم مجال الخطأ لتحديد الأخطاء التي وقعت.
دورة الحياة
تخضع مثيلات ara::rds::RdsErrorDomain لدورة حياة خاضعة للرقابة الصارمة. ويُمنع الإنشاء المباشر للمثيل بواسطة كود العميل صراحةً، نظراً لحذف المنشئ الافتراضي (=delete) [SWS_RDS_11294]. وبدلاً من ذلك، يتم الوصول عبر الدالة المساعدة العامة GetRdsErrorDomain()، والتي تُرجع مرجعاً ثابتاً إلى المجال [SWS_RDS_11298].
تفسير: يُرجح تنفيذ مجال الخطأ ككائن مفرد (Singleton) طويل الأمد يتواجد طوال فترة تنفيذ العملية بأكملها. سؤال (مفتوح) وبما أن جميع واجهات الاستعلام مثل Name()[SWS_RDS_11295] وMessage()[SWS_RDS_11296] معلنة كـ const وكذلك noexcept، فإن الوصول للقراءة المتزامنة والآمنة بالنسبة للخيوط بواسطة خيوط متعددة يكون متاحاً دون الحاجة إلى تكلفة مزامنة.
مسار الاستخدام
يحدث مسار الاستخدام النموذجي بمجرد فشل إحدى عمليات Raw Data Stream والحاجة إلى تحليل كائن خطأ مطابق أو تمريره. ويتلقى التطبيق أو طبقة البرمجيات الوسيطة عادةً كائن خطأ مرتبطاً بالمجال، أو يشير إلى المجال مباشرةً عبر GetRdsErrorDomain()[SWS_RDS_11298]. وعبر الطريقة Message()، يمكن الاستعلام عن النص المرتبط برمز الخطأ أثناء وقت التشغيل وتسجيله في مخرجات السجل [SWS_RDS_11296].
إذا كانت استراتيجية معالجة الأخطاء في التطبيق تعتمد على استثناءات ++C، يتم استدعاء الطريقة ThrowAsException()[SWS_RDS_11297]. ويؤدي ذلك إلى تحويل ara::core::ErrorCode الممرر إلى استثناء من النوع RdsException، والمحدد عبر الاسم المستعار للنوع Exception[SWS_RDS_11327].
في سياق مجال الخطأ نفسه، لا تحدث أي استثناءات أثناء عمليات الاستعلام العادية: تضمن طرق التعريف وتحديد المواضع Name()[SWS_RDS_11295] وMessage()[SWS_RDS_11296] الخلو من الأخطاء بفضل تحديدها بـ noexcept. كما أن دالة الوصول GetRdsErrorDomain() لا تفشل أبداً [SWS_RDS_11298].
يتعلق سيناريو الخطأ الأساسي بمعالجة الاستثناءات: إذا استدعى طرف مستدعٍ ThrowAsException() مع ara::core::ErrorCode صالح، فإن الطريقة لا تنتهي بصورة عادية، بل تطرح حتماً استثناءً (noexcept(false)) من النوع RdsException[SWS_RDS_11297]. والشرط المسبق لهذا الاستدعاء هو تمرير رمز خطأ متسق من المجال؛ بينما الشرط اللاحق هو إطلاق الاستثناء في سياق المستدعي لمواصلة المعالجة في كتلة catch المقابلة.
تم إنشاء هذا الدليل بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني