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 के बारे में पढ़ेंगे।
Exceptions को handle करने के लिए हम अपना code try block के अंदर लिखते थे , अगर error आती थी तो उस error को catch block में handle करते थे। कई बार ऐसी situation आती है कि code को दोनों conditions में Run करना हो , means Exceptions आये तब भी code Run हो और न आये तब भी, वहाँ पर हम finally block use करते हैं।
finally block , try या catch block के बाद हमेशा run होता है।
? try catch की तरह ही try catch finally भी सिर्फ Run Time Errors (जिन्हे Exception कहते हैं) में ही काम करता है , Syntax Error या Logical Errors को नहीं। अगर program में syntactically error है तो उसके लिए यह काम नहीं करेगा।
try { //write you actual code } catch(errorObj) { //handle errors } finally { //it will execute always }
File : trycatch.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript Exception Handling Using try catch finally In Hindi </title>
</head>
<body>
<script type="text/javascript">
try
{
document.write(blah); /* here I have print undefined variable */
}
catch(ErrorObj)
{
document.write(`Error Name : ${ErrorObj.name} <br>`); /* print Error name */
document.write(`Error Message : ${ErrorObj.message} <br>`); /* print Error message */
}
finally
{
document.write(`it will run always`);
}
</script>
</body>
</html>
दिए गए example के output में आप देख सकते है की Exception के वावजूद भी try block Run हुआ है।
well , ये जरूरी नहीं है कि आप catch block के बाद ही finally block use करें , अगर आ Exceptions handle नहीं करना चाहते हैं तो catch block को skip कर try block के बाद लिख सकते हैं।
File : tryfinally.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript Exception try finally In Hindi </title>
</head>
<body>
<script type="text/javascript">
try
{
document.write(`try block <br>`);
}
finally
{
document.write(`it will run always`);
}
</script>
</body>
</html>
हालाँकि इस case में भी अगर Exception नहीं आयी तो try finally दोनों run होंगे otherwise finally block run होगा ही।
Note - finally block हमेशा try block के बाद या try catch के बाद ही आएगा , आप इसे try finally catch नहीं लिख सकते हैं। या बिना try के catch finally नहीं लिख सकते हैं।नीचे कुछ valid / invalid syntax गए हैं।
/* Valid */
try{
//write you code here
}
finally{
// it runs always
}
/* Valid */
try{
//write you code here
}
catch(errorObj){
// handle error
}
finally{
// it runs always
}
/* Invalid : Uncaught SyntaxError: catch without try*/
catch(errorObj){
// handle error
}
finally{
// it runs always
}
/* Invalid : Uncaught SyntaxError: catch without try*/
try{
//your code
}
finally{
// it runs always
}
catch(errorObj){
// handle error
}