If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
पिछले topic में आपने JavaScript में try catch के बारे में पढ़ा , try catch का use करके Exception को handle किया। इस topic में हम finally{ } block के बारे में पढ़ेंगे।
Actually Exceptions को handle करने के लिए हम अपना code try{ } block के अंदर लिखते थे , तो अगर error आती थी तो उस error को catch() block में handle करते थे।
लेकिन कई बार ऐसी situation आती है कि code को दोनों conditions में runकरना हो , means Exceptions आये तब भी code run हो और न आये तब भी, वहाँ पर हम finally{ } block use करते हैं।
●●●
exception handling में finally{ } block की help से code को हमेशा execute करा सकते हैं। finally{ } block में रखा गया code exception आने पर भी run होता है और exception न आयी तब भी।
finally{ } block , try-catch के बाद हमेशा run होता है।
अगर कोई Exceptions नहीं है तो try{ } block के बाद run होगा
और Exceptions आयी तो catch() block के बाद।
try {
echo 10/0;
}
catch(DivisionByZeroError $e) {
echo "Caught exception : ". $e->getMessage();
}
finally {
echo "finally block is running";
}Output
Caught exception : Division by zero finally block is running
ऊपर दिए गए example में आप देख सकते हैं कि error आने के बाद भी finally{ } block execute हुआ।
हालाँकि अगर कोई error नहीं भी आती तो finally{ } block try{ } block के बाद execute होता है।
try {
// there is no error.
echo "try block is running";
}
catch(Error $e) {
echo "Caught exception : ". $e->getMessage();
}
finally {
echo "finally block is running";
}Output
try block is running finally block is running
तो कुछ इस तरह से exception न होने पर सिर्फ try और finally{ } block ही run हुए हैं।
●●●
Yes , आप catch() block को skip करके directly try{ } block के साथ finally{ } block को use कर सकते हैं।
try {
echo "try block is running";
}
finally {
echo "finally block is running";
}Output
try block is running finally block is running
हालाँकि ध्यान रहे अगर कोई run time error आयी तो वो आपको finally{ } block को run करके program terminate कर देगी।
try {
echo 10/0;
}
finally {
echo "finally block is running";
}Output
finally block is running
Fatal error: Uncaught DivisionByZeroError: Division by zero●●●
ध्यान रहे कि finally{ } , catch() के बाद ही use होगा। हाँ अगर आप catch() use नहीं कर रहे हैं तो finally{ } को try{ } के बाद use कर सकते हैं।
finally{ } को catch() से पहले use करने पर syntax error आएगी।
try {
echo "Hello";
}
finally {
echo "finally block 2 is running";
}
catch(Error $e) {
echo "finally block 1 is running";
}Output
Parse error: syntax error, unexpected token "catch", expecting end of file
●●●
I Hope, अब आपको PHP में finally{ } block अच्छे से समझ आ गया होगा।