الكورس السابع: تعلم الاستثناءات

الكورس السابع: تعلم الاستثناءات

الاستثناء (أو الحدث الاستثنائي) هو المشكلة التي تنشأ أثناء تنفيذ البرنامج. عند حدوث استثناء ، يتم تعطيل التدفق العادي للبرنامج وينتهي البرنامج / التطبيق بشكل غير طبيعي ، وهو أمر غير مستحسن ، لذلك ، يجب معالجة هذه الاستثناءات.

بمعنى _ أنك تقوم بكتابة كود معين, ثم ينتج بعد طباعة الكود في المتصفح مثلاً خطأ.. وهذا الخطأ يبقى دوّار دون نهاية في كل مكان تذهب اليه. لذلك وجد حل الاستثناء لكي نقوم بقطع الطريق على هذا الخطأ.

 يمكن أن يحدث استثناء لأسباب عديدة مختلفة.  فيما يلي بعض السيناريوهات التي يحدث فيها استثناء.

  •  أدخل مستخدم بيانات غير صالحة.
  •  لا يمكن العثور على ملف يحتاج إلى فتح.
  •  تم فقد اتصال الشبكة
  • تم ادخال قيمة رقم مغلوطة لمحدد معين في نموذج ما مثلاً.

يحتوي PHP على نموذج استثناء مشابه لنموذج لغات البرمجة الأخرى. يمكن طرح استثناء في PHP. قد يكون الرمز محاطًا في كتلة تجريبية لتسهيل إختيار الاستثناءات المحتملة. يجب أن تحتوي كل محاولة على مصيد مناظر واحد على الأقل أو يتم حظره أخيرًا.

try {
  echo 2 / 0;
} catch (Exception $e) {
  echo "Caught exception: Division by zero!";
}

يمكن استخدام كتل التقاط متعددة لالتقاط فئات مختلفة من الاستثناءات. سيستمر التنفيذ العادي (عندما لا يتم طرح استثناء ضمن كتلة المحاولة) بعد كتلة الالتقاط الأخيرة المحددة في التسلسل. يمكن طرح الاستثناءات (أو إعادة طرحها) داخل كتلة التقاط.

if (4/2 == 2) {
  echo "Right!";
} else {
  throw new Exception("Wrong answer!");
}

عند طرح استثناء ، لن يتم تنفيذ التعليمات البرمجية التي تلي العبارة ، وستحاول PHP العثور على أول كتلة مطابقة متطابقة. إذا لم يتم اكتشاف استثناء ، فسيتم إصدار خطأ فادح PHP برسالة “استثناء غير مسبوق …” ، ما لم يتم تعريف معالج باستخدام set_exception_handler () .