مقدمة في الاستثناءات
جزء من قسم Logic & Flow في رحلة C++ على Coddy — الدرس 48 من 56.
عندما يتم تشغيل البرامج، لا تسير الأمور دائمًا كما هو مخطط لها. قد لا تكون الملفات موجودة، أو قد يدخل المستخدمون مدخلات غير صالحة، أو قد تفشل العمليات الحسابية. تُسمى هذه المواقف غير المتوقعة استثناءات (exceptions)، ويمكن أن تتسبب في توقف برنامجك عن العمل إذا لم يتم التعامل معها بشكل صحيح.
معالجة الاستثناءات هي تقنية برمجية تتيح لك الاستجابة للأخطاء بشكل سلس بدلاً من ترك برنامجك يتوقف بشكل غير متوقع. فبدلاً من الانهيار عند حدوث خطأ ما، يمكنك التقاط هذه الأخطاء وتحديد كيفية التعامل معها - سواء كان ذلك من خلال عرض رسالة مفيدة للمستخدم، أو تجربة نهج بديل، أو الإغلاق بأمان.
فكر فيما يحدث عندما تحاول تحويل نص غير صالح إلى رقم، أو عندما تحاول الوصول إلى ملف غير موجود. بدون معالجة الاستثناءات (exception handling)، ستؤدي هذه المواقف إلى توقف برنامجك بشكل مفاجئ. باستخدام المعالجة الصحيحة للأخطاء، يمكنك توقع هذه المشكلات وتوفير تجربة مستخدم سلسة حتى عندما تسير الأمور بشكل خاطئ.
توفر لغة C++ طريقة منظمة لمعالجة الاستثناءات باستخدام آلية try-catch، والتي تتيح لك فصل منطق البرنامج العادي عن كود معالجة الأخطاء. هذا يجعل برامجك أكثر قوة وسهولة في الاستخدام، وهي صفات أساسية لأي برمجيات موثوقة.
ورقة مرجعية
تسمح معالجة الاستثناءات للبرامج بالاستجابة للأخطاء بلباقة بدلاً من التعطل بشكل غير متوقع. تستخدم لغة C++ آلية try-catch لمعالجة الاستثناءات:
try {
// الكود الذي قد يطرح استثناءً
} catch (exception_type e) {
// معالجة الاستثناء
}يؤدي هذا إلى فصل منطق البرنامج العادي عن كود معالجة الأخطاء، مما يجعل البرامج أكثر قوة وسهولة في الاستخدام.
جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1المؤشرات والذاكرة
ما هو المؤشر؟معامل العنوان (Address-Of)معامل الوصول للقيمة (Dereference)المؤشرات الفارغة (Null Pointers)المؤشرات والمصفوفاتالذاكرة الديناميكية باستخدام 'new'تحرير الذاكرة باستخدام 'delete'مراجعة - تمارين على المؤشرات2المتجهات (المصفوفات الديناميكية)
مقدمة إلى std::vectorإنشاء Vectorإضافة العناصرالوصول إلى العناصرحجم الـ Vectorالتكرار باستخدام For Loopالـ Range-Based For Loopإزالة العناصرملخص - عمليات الـ Vector5مشروع: أداة المخزون
إعداد المشروعإضافة وتحديث العناصر8أساسيات معالجة الأخطاء
مقدمة في الاستثناءاتكتل 'try' و 'catch'الكلمة المفتاحية 'throw'أنواع الاستثناءات المختلفةمعالج كافة الاستثناءاتمراجعة - القسمة الآمنة