شبكة تعلم مع ناو

كيف أتعامل مع الاستثناءات بـ try وcatch في PHP؟

نضع الكود الذي قد يفشل داخل try، ونعالج المشكلة في catch:

try {
    $data = json_decode($json, true, 512, JSON_THROW_ON_ERROR);
    saveOrder($data);
} catch (JsonException $e) {
    echo 'Invalid data';
} catch (Exception $e) {
    error_log($e->getMessage());
    echo 'Something went wrong';
} finally {
    closeConnection();
}

ملاحظات

  • يمكن كتابة أكثر من catch، الأدق أولًا.
  • finally اختيارية، وتُنفَّذ دائمًا.
  • تعمل مع أي استثناء: قواعد البيانات، والملفات، والتحقق، وغيرها.

لا تكتم الأخطاء بـ catch فارغة؛ سجّلها على الأقل، حتى تعرف أنها حدثت.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.