الفصل 13 — الاستثناءات ومعالجة الأخطاء
الجزء 1A — تعلّم Dart · الفصل 13 من 62 · 5 ساعات
الفصل 13 — الاستثناءات ومعالجة الأخطاء
المستوى: مبتدئ / متوسط المدة المقدّرة: 5 ساعات المتطلبات المسبقة: الفصل 12 — أمان القيم الفارغة (null safety) ما ستتمكن من فعله في نهاية الفصل: كتابة برنامج Dart لا يتوقف فجأة أمام بيانات غير صالحة، عبر الإبلاغ عن المشكلات باستخدام
throwوالتقاطها في المكان المناسب باستخدامtry/on/catch/finally.
13.0 — أهداف الفصل
في نهاية هذا الفصل ستكون قادرًا على:
- شرح ما يحدث، خطوة بخطوة، عندما ينهار برنامج Dart؛
- التمييز بين
Error(خطأ من المبرمج) وException(حادث يمكن توقعه)؛ - قراءة تتبّع الخطأ الصادر عن آلة Dart الافتراضية (VM) دون ارتباك؛
- حماية جزء من الشيفرة باستخدام
try؛ - التقاط مشكلة باستخدام
catch؛ - استرجاع الكائن المُطلَق باستخدام
catch (e)ومكدس الاستدعاءات باستخدامcatch (e, s)؛ - تصفية نوع محدد من الاستثناءات باستخدام
on؛ - تسلسل عدة عبارات
onبالترتيب الصحيح؛ - الجمع بين
onوcatchباستخدامon ... catch (e)؛ - ضمان تنفيذ عملية تنظيف باستخدام
finally؛ - وصف ترتيب تنفيذ
tryوcatchوfinallyبدقة؛ - الإبلاغ بنفسك عن مشكلة باستخدام
throw؛ - إعادة إطلاق استثناء تم التقاطه سابقًا باستخدام
rethrow؛ - إنشاء أصناف الاستثناءات الخاصة بك والمرتبطة بمنطق لعبتك؛
- فهم
FormatExceptionوإثارتها عمدًا؛ - شرح سبب فشل
int.parse()وكيفية بناء رسالة الخطأ؛ - استبدال الاستثناء باختبار بفضل
int.tryParse()وdouble.tryParse()؛ - التحقق من صحة إدخال المستخدم بالكامل، من النص الخام إلى القيمة القابلة للاستخدام؛
- استخدام
ArgumentErrorوassertلحماية دوالك الخاصة؛ - الربط بين الاستثناءات وأمان القيم الفارغة (null safety)؛
- تحديد، في مشروع حقيقي، متى تلتقط استثناءً ومتى تترك البرنامج ينهار.
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش