نفّذ أنواعًا مختلفة من معالجة الأخطاء وإدارة الموارد.
من النقاط المهمة في البرمجة كيفية التعامل مع الأخطاء وإغلاق الموارد حتى عند حدوث أخطاء.
يتطلب منك هذا التمرين التعامل مع أخطاء متنوعة. ولأن معالجة الأخطاء تختلف باختلاف لغة البرمجة، ستحتاج إلى الرجوع إلى اختبارات مسارك لتعرف بدقة ما هو مطلوب.
يتطلب هذا التمرين منك التعامل مع الاستثناءات. الاستثناء حدث يقع أثناء تنفيذ البرنامج فيعطّل المسار الطبيعي لتعليمات البرنامج.
في Java، هناك نوعان من الاستثناءات: الاستثناءات المفحوصة والاستثناءات غير المفحوصة.
الاستثناءات المفحوصة هي الاستثناءات التي تُفحَص في وقت الترجمة.
عليك التصريح بها في توقيع الطريقة لأي طريقة يمكنها رمي استثناء مفحوص، والتعامل معها أو إعادة رميها عند استدعاء أي طريقة يمكنها رمي استثناء مفحوص.
وذلك لأن الاستثناءات المفحوصة يُقصد بها أن تُعالَج في وقت التشغيل، أي أنها أخطاء يمكنك التعافي منها.
غالبًا ما تُستخدم عندما لا تستطيع طريقة إرجاع أي نتيجة صحيحة، مثل طريقة بحث لم تجد العنصر الذي تبحث عنه.
وهي بديل عن إرجاع null أو رمز خطأ. والاستثناء المفحوص أفضل من هذين البديلين لأنه يُلزم مستخدم الطريقة بالتفكير في حالة الخطأ.
الاستثناءات غير المفحوصة هي الاستثناءات التي لا تُفحَص في وقت الترجمة.
لست مضطرًا للتصريح بها في توقيع الطريقة للطرق التي يمكنها رمي استثناء غير مفحوص، ولا للتعامل معها أو إعادة رميها عند استدعاء أي طريقة يمكنها رمي استثناء غير مفحوص.
تنتج الاستثناءات غير المفحوصة عادةً عن عيوب في البرنامج، ويمكن الوقاية منها بالكتابة السليمة للكود. مثال: يمكن الوقاية من ArrayIndexOutOfBoundsException بالتأكد من أن فهارس المصفوفة تقع بين 0 وطول المصفوفة.
سجّل في Exercism لتتعلّم وتتقن Java عبر 26 مفهومًا158 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.