0Pricing
Dart Academy · درس

عبارات on وأنواع الاستثناءات

التقط الأخطاء المحددة بدقة

عبارات on وأنواع الاستثناءات درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.

ليست كل الأخطاء متساوية

خطأ الملف يختلف عن خطأ التنسيق. يتيح لكم Dart التقاط الأخطاء حسب النوع كي يحصل كل منها على الاستجابة المناسبة. 🎯

الكلمة المفتاحية on

استخدموا on لالتقاط نوع واحد من الاستثناءات فقط. وتعمل الكتلة عندما يُطلَق ذلك النوع المحدد من الخطأ دون غيره.

try {
  parse();
} on FormatException {
  print('Bad format');
}

الاحتفاظ بالكائن أيضًا

اجمعوا بين on وcatch لتصفية الأخطاء حسب النوع، مع الحصول على كائن الخطأ لقراءة تفاصيل رسالته.

on FormatException catch (e) {
  print(e.message);
}

الترتيب مهم

يفحص Dart عبارات on من الأعلى إلى الأسفل ويستخدم أول تطابق. ضعوا الأنواع المحددة قبل العامة، وإلا فلن تُنفَّذ المحددة.

عبارات on متعددة

يمكنكم وضع عدة عبارات on في try واحدة. وتعالج كل عبارة نوعًا مختلفًا من الاستثناءات بمنطق خاص به.

try {
  work();
} on FormatException {
} on RangeError {
}

التقاط شامل في النهاية

تلتقط catch العادية، من دون تحديد نوع، كل ما تبقى. ضعوها أخيرًا كشبكة أمان بعد العبارات التي تحدد الأنواع.

} on FormatException {
} catch (e) {
  print('Other: $e');
}

الفرق بين Exception وError

يقسم Dart حالات الفشل إلى Exception للمشكلات القابلة للتعافي، وError لأخطاء البرمجة التي ينبغي إصلاحها لا التقاطها.

الأنواع المضمّنة الشائعة

ستتعاملون مع FormatException وRangeError وStateError وArgumentError. وتساعدكم معرفتها على الالتقاط بدقة.

التقاط نوع أب

تطابق عبارة on Exception أي نوع فرعي من Exception. استخدموا نوعًا عامًا عندما تشترك عدة أخطاء مرتبطة في معالج واحد.

try {
  go();
} on Exception catch (e) {
  log(e);
}

فائدة تصفية الأنواع

تحافظ المعالجات ذات الأنواع على وضوح الشفرة: فتستجيبون للملف المفقود بطريقة مختلفة عن الإدخال غير الصحيح، بدلًا من ترك catch واحد ضخم يخمّن التصرف.

جمع الأجزاء معًا

يوضح هذا التسلسل من المحدد إلى العام: عبارة on ذات نوع محدد أولًا، ثم التقاط شامل لمعالجة كل ما تبقى بأمان.

try {
  run();
} on FormatException catch (e) {
  print(e);
} catch (e) {
  print('Unknown');
}

تحقق سريع

كيف تلتقطون نوعًا محددًا واحدًا من الاستثناءات فقط؟

مراجعة

أصبحتم الآن قادرين على استهداف الأخطاء باستخدام on، وترتيب العبارات بدءًا من الأكثر تحديدًا، وإضافة شبكة التقاط شاملة. معالجة دقيقة وشفرة واضحة. ✅

الأسئلة الشائعة

هل درس «عبارات on وأنواع الاستثناءات» مجاني؟

نعم — نص درس «عبارات on وأنواع الاستثناءات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.

ماذا ستتعلم في «عبارات on وأنواع الاستثناءات»؟

التقط الأخطاء المحددة بدقة تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟

لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «عبارات on وأنواع الاستثناءات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟

نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. throw وtry وcatch
  2. عبارات on وأنواع الاستثناءات
  3. finally والتنظيف المضمون
  4. الاستثناءات المخصصة وrethrow
← العودة إلى Dart Academy