PHP के पिछले संस्करणों में, यदि हम एक अपवाद को पकड़ना चाहते थे, तो हमें यह जांचने के लिए एक चर में संग्रहीत करने की आवश्यकता थी कि उस चर का उपयोग किया गया है या नहीं।
PHP 8 से पहले, अपवाद कैच ब्लॉक को संभालने के लिए, हमें एक वेरिएबल में अपवाद (कोशिश ब्लॉक द्वारा फेंका गया) को पकड़ने की आवश्यकता थी।
उदाहरण:PHP में एक्सेप्शन कैच को कैप्चर करना
<?php
function foo()
{
try{
throw new Exception('Hello');
}
catch (Exception $e) {
return $e->getMessage();
}
}
?> स्पष्टीकरण - उपरोक्त कार्यक्रम में, कैच ब्लॉक द्वारा चर $e के अपवाद को पकड़ा जा रहा है . अब $e चर कोड, संदेश आदि के रूप में अपवाद के बारे में कोई भी जानकारी रख सकता है।
PHP 8 गैर-कैप्चरिंग कैच पेश किए। अब, वेरिएबल्स पर कब्जा किए बिना अपवादों को पकड़ना संभव है। अब हम चर की उपेक्षा कर सकते हैं।
उदाहरण:PHP 8 में गैर-कैप्चरिंग अपवाद कैच
<?php
try{
throw new Exception('hello');
}
catch (Exception) { // $e variable omitted
}
?> नोट: उपरोक्त कार्यक्रम में, हम $e . का उपयोग नहीं कर रहे हैं अपवाद जानकारी रखने के लिए चर।