شرح المفهوم
يركز هذا الدرس على كتابة كود C++ يفشل بطريقة محكمة بدلاً من التعطل بصمت أو الانهيار دون سياق. ستتدرب على معالجة مشكلة معروفة، والإبلاغ عنها بوضوح، والحفاظ على بنية البرنامج سهلة المتابعة. جزء الموثوقية لا يقل أهمية عن بناء الجملة: يجب أن يجعل برنامج C++ الجيد للمبتدئين مسار النجاح واضحًا ومسار الفشل مفهومًا. من خلال العمل على مثال صغير محمي، سترى كيف تجعل الاستثناءات ورسائل الخطأ وقواعد الملكية المنضبطة البرامج أكثر أمانًا للتشغيل وأسهل في التصحيح.
أين تضع الكود
- ابدأ بالمتغيرات والمدخلات. حافظ على `includes`، ودالة `main`، وأنواع البيانات صريحة.
- أضف منطق المعالجة في القسم الأوسط.
- انتهِ بالإخراج والتحقق السريع.
مرجع الأوامر
- شغّل البرنامج بقيمة صالحة أولاً، ثم جرّب سلسلة نصية فارغة وقارن المخرجات.
- اشرح أي دالة تكتشف المدخلات السيئة وأي دالة تبلغ المستخدم بها.
- عدّل المثال بحيث تكون رسالة الخطأ أكثر تحديدًا دون تغيير التدفق العام.
- لاحظ سببًا واحدًا يجعل التقاط نوع استثناء قياسي يحافظ على مرونة المثال.
دليل خطوة بخطوة
- قم بتجميع وتشغيل البرنامج الأساسي باستخدام المدخلات الصالحة الحالية.
- غيّر المدخلات إلى سلسلة نصية فارغة ولاحظ كيفية التعامل مع الفشل.
- تتبع المسار من `parseCount` إلى `main` لترى أين يتم إلقاء الاستثناء والتقاطه.
- عدّل جزءًا واحدًا من الرسالة أو أسماء المتغيرات لتحسين الوضوح.
- راجع ما إذا كانت حالة النجاح وحالة الفشل سهلة الفهم للوهلة الأولى.
تمارين تطبيقية
- أنشئ محللًا مشابهًا للعمر أو الكمية وارفض المدخلات الفارغة بنفس الطريقة.
- أضف قاعدة أخرى ترفض الأرقام السالبة واختبر القيم المسموح بها والمرفوضة.
- أعد كتابة المثال بحيث تبقى منطق التحليل في دالتها الخاصة و`main` يتعامل فقط مع الإخراج.
تحديات برمجية
- خزّن عدة مدخلات نصية في قائمة صغيرة وقم بمعالجتها واحدة تلو الأخرى مع الإبلاغ عن الإخفاقات بوضوح.
- قارن المعالجة القائمة على الاستثناءات بإصدار يعيد قيمة حالة، ثم صف المفاضلة.
مهام تمرين صغيرة
- أضف اختبارًا يدويًا واحدًا للنص غير الصالح مثل "abc".
- أعد تسمية دالة أو متغير واحد لتحسين القصد.
- اكتب ملخصًا من سطر واحد لما يجعل هذا المثال أكثر موثوقية من التحويل المباشر غير المتحقق منه.
خطأ شائع
Skipping input validation or mixing logic/output in one unstructured block.
تحدٍ مصغّر من الواقع
Build a small real-life example for this lesson topic using 3 clear steps: input, process, output.