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 अच्छे से समझ आ गया होगा।