एक एक्सेप्शन प्रोग्राम के निष्पादन के दौरान उत्पन्न होने वाली समस्या है। प्रोग्राम के निष्पादन के दौरान जब एक एक्सेप्शन होता है, तो स्टेटमेंट के बाद का कोड निष्पादित नहीं होगा, और PHP पहले मिलान करने वाले catch ब्लॉक को खोजने का प्रयास करेगा। यदि एक एक्सेप्शन पकड़ा नहीं जाता है, तो "Uncaught Exception" के साथ एक PHP फेटल एरर जारी की जाएगी।
सिंटैक्स
try {
print "this is our try block";
throw new Exception();
}catch (Exception $e) {
print "something went wrong, caught yah! n";
}finally {
print "this part is always executed";
}
उदाहरण
<?php
function printdata($data) {
try {
//यदि वेरिएबल 6 है तो केवल if निष्पादित होगा
if($data == 6) {
// यदि वेरिएबल शून्य है तो केवल एक्सेप्शन थ्रो होगा
throw new Exception('Number is six.');
echo "\n After throw (It will never be executed)";
}
}
// जब try ब्लॉक द्वारा एक्सेप्शन थ्रो किया गया हो
catch(Exception $e){
echo "\n Exception Caught", $e->getMessage();
}
//यह ब्लॉक कोड हमेशा निष्पादित होगा।
finally{
echo "\n Final block will be always executed";
}
}
// यहां एक्सेप्शन नहीं उठेगा
printdata(0);
// यहां एक्सेप्शन उठेगा
printdata(6);
?>
आउटपुट
Final block will be always executed Exception CaughtNumber is six. Final block will be always executed
नोट
एक्सेप्शन हैंडल करने के लिए, प्रोग्राम कोड try ब्लॉक के अंदर होना चाहिए। प्रत्येक try का कम से कम एक संबंधित catch ब्लॉक होना चाहिए। विभिन्न क्लासेज के एक्सेप्शन पकड़ने के लिए कई catch ब्लॉक्स का उपयोग किया जा सकता है।