अपवाद एक समस्या है जो प्रोग्राम के निष्पादन के दौरान उत्पन्न होती है। किसी प्रोग्राम के निष्पादन के दौरान जब कोई अपवाद होता है, तो कथन के बाद कोड निष्पादित नहीं किया जाएगा, और PHP पहले मिलान वाले कैच ब्लॉक को खोजने का प्रयास करेगा। यदि कोई अपवाद नहीं पकड़ा जाता है, तो एक 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 {
//If var is six then only if will be executed
if($data == 6) {
// If var is zero then only exception is thrown
throw new Exception('Number is six.');
echo "\n After throw (It will never be executed)";
}
}
// When Exception has been thrown by try block
catch(Exception $e){
echo "\n Exception Caught", $e->getMessage();
}
//this block code will always executed.
finally{
echo "\n Final block will be always executed";
}
}
// Exception will not be rised here
printdata(0);
// Exception will be rised
printdata(6);
?> आउटपुट
Final block will be always executed Exception CaughtNumber is six. Final block will be always executed
नोट
अपवादों को संभालने के लिए, प्रोग्राम कोड को एक कोशिश ब्लॉक के अंदर होना चाहिए। प्रत्येक प्रयास में कम से कम एक संबंधित कैच ब्लॉक होना चाहिए। अपवादों के विभिन्न वर्गों को पकड़ने के लिए एकाधिक कैच ब्लॉक का उपयोग किया जा सकता है।