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

ما فائدة finally في معالجة الاستثناءات في PHP؟

كتلة finally تُنفَّذ دائمًا، سواء حدث خطأ أم لم يحدث:

$file = fopen('data.txt', 'r');

try {
    $content = fread($file, 1000);
    // ... process the content
} catch (Exception $e) {
    echo 'Error: ' . $e->getMessage();
} finally {
    fclose($file);  // always runs
}

متى أحتاجها؟

لتحرير الموارد مهما كانت النتيجة: إغلاق ملف، أو إنهاء اتصال، أو إزالة قفل، أو إرجاع حالة مؤقتة.

تُنفَّذ حتى مع return

function test() {
    try {
        return 'from try';
    } finally {
        echo 'finally runs first ';
    }
}

اختبر نفسك

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