انتقل إلى المحتوى
الوحدة 6

معالجة الأخطاء والسلامة

اكتب تعليمات برمجية قوية لـ C++ مع معالجة مناسبة للأخطاء — الاستثناءات، وضمانات أمان RAII، وأنواع المجموع، وأنماط البرمجة الدفاعية.

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

  1. الاستثناءات: رمي، حاول، قبض

    فهم آلية استثناء C++ - تفكيك المكدس، والتسلسل الهرمي للاستثناءات القياسية، والاستثناءات المخصصة، ومتى تفضل الاستثناءات على رموز الخطأ.

  2. Exception Safety Guarantees

    Learn the three levels of exception safety — basic, strong, and no-throw — and how RAII and copy-and-swap provide them.

  3. استراتيجيات معالجة الأخطاء: اختيار النهج الصحيح

    قارن بين الاستثناءات وأكواد الأخطاء وstd::expected - تعرف على متى يكون كل نهج مناسبًا وكيفية التعامل مع الأخطاء في المنشئات والمدمرات والتعليمات البرمجية متعددة الخيوط.

اكتب السلامة والبرمجة الدفاعية

  1. std::اختياري، std::variant & std::متوقع

    Use C++17/23 sum types to represent nullable values, type-safe unions, and value-or-error returns — eliminating entire classes of bugs at compile time.

  2. Type Safety, Assertions & Contracts

    Leverage the C++ type system to prevent bugs at compile time — strong enums, the newtype pattern, static_assert, runtime assertions, and the upcoming contracts feature.

  3. فهم وتجنب السلوك غير المحدد

    تعرف على السلوك غير المحدد، وسبب وجوده، وكيف يستغله المترجمون للتحسين، وكيفية اكتشافه باستخدام المطهرات وتحذيرات المترجمين.