Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP finally और return का इंटरेक्शन: विशेष व्यवहार


परिचय

जब try ब्लॉक या catch ब्लॉक (या दोनों) में return स्टेटमेंट होता है, तो finally ब्लॉक का एक विशिष्ट व्यवहार होता है। सामान्यतः return स्टेटमेंट प्रोग्राम के कंट्रोल को कॉलिंग पोजीशन पर वापस ले जाता है। हालांकि, try/catch ब्लॉक के साथ फंक्शन में return होने पर, finally ब्लॉक में स्टेटमेंट्स पहले निष्पादित होते हैं, फिर रिटर्न होता है।

उदाहरण

निम्न उदाहरण में, div() फंक्शन में try-catch-finally कंस्ट्रक्ट है। बिना एक्सेप्शन के try ब्लॉक डिवीजन का परिणाम लौटाता है। एक्सेप्शन के मामले में, catch ब्लॉक एरर मैसेज लौटाता है। हालांकि, किसी भी मामले में finally ब्लॉक में स्टेटमेंट पहले निष्पादित होता है।

<?php
function div($x, $y) {
    try {
        if ($y == 0) {
            throw new Exception("Division by 0");
        } else {
            $res = $x / $y;
            return $res;
        }
    }
    catch (Exception $e) {
        return $e->getMessage();
    }
    finally {
        echo "This block is always executed\n";
    }
}

$x = 10;
$y = 0;
echo div($x, $y);
?>

आउटपुट (y=0)

This block is always executed
Division by 0

आउटपुट (y=5)

This block is always executed
2

महत्वपूर्ण निहितार्थ

  • finally हमेशा चलता है - return, throw, या सामान्य निष्पादन के बावजूद।
  • finally return को ओवरराइड कर सकता है - यदि finally में return है, तो वह try/catch के return को ओवरराइड करता है।
  • क्लीनअप के लिए आदर्श - संसाधन मुक्त करना (फाइल क्लोज, DB डिसकनेक्ट, लॉक रिलीज)।

finally में return का उदाहरण (सावधानी)

<?php
function test() {
    try {
        return "from try";
    } finally {
        return "from finally"; // यह मान लौटाया जाएगा!
    }
}
echo test(); // आउटपुट: from finally
?>

बेस्ट प्रैक्टिस

finally ब्लॉक में return स्टेटमेंट से बचें जब तक कि इरादतन try/catch के return मान को ओवरराइड न करना हो। finally का उपयोग केवल क्लीनअप के लिए करें।

  1. - जावास्क्रिप्ट और PHP में अंतर

    जावास्क्रिप्ट और PHP दोनों प्रोग्रामिंग दुनिया में सबसे लोकप्रिय प्रोग्रामिंग भाषाएं हैं। अपनी विभिन्न महत्वपूर्ण विशेषताओं और फीचर्स के कारण दोनों भाषाएं विश्व स्तर पर व्यापक रूप से उपयोग की जाती हैं। उनकी विशेषताओं के आधार पर जावास्क्रिप्ट और PHP के बीच महत्वपूर्ण अंतर निम्नलिखित हैं:

  1. - PHP और JavaScript के बीच अंतर

    इस पोस्ट में, हम PHP और JavaScript के बीच अंतर को समझेंगे।JavaScriptयह फ्रंट एंड के साथ-साथ बैक एंड के साथ काम करने में मदद करता है।यह एसिंक्रोनस है, जिसका अर्थ है कि यह इनपुट और आउटपुट संचालन के लिए प्रतीक्षा नहीं करता।यह ब्राउज़र में चल सकता है और Node जारी होने के बाद, JavaScript कमांड लाइन पर भी

  1. HTML ब्लॉक और इनलाइन एलिमेंट्स HTML ब्लॉक और इनलाइन एलिमेंट्स

    ब्लॉक एलिमेंट्स ब्लॉक एलिमेंट्स स्क्रीन पर ऐसे दिखाई देते हैं जैसे उनके पहले और बाद में एक लाइन ब्रेक हो। वे उपलब्ध पूरी चौड़ाई भी लेते हैं। कुछ ब्लॉक एलिमेंट्स में शामिल हैं: <h1> से <h6>, <article>, <aside>, <p>, <pre>, <ul>, <ol>, <address>, आ