finally ब्लॉक
finally ब्लॉक try और catch के बाद हमेशा 실행 होता है, चाहे एरर हो या न हो। यह क्लीनअप कोड के लिए उपयोगी है।
सिंटैक्स
try {
// जोखिम भरा कोड
} catch (error) {
// एरर हैंडलिंग
} finally {
// हमेशा चलने वाला कोड (क्लीनअप)
}
उदाहरण
<html> <body> <pre> <script>
function addition() {
document.writeln("हर किसी को जोड़ना आना चाहिए");
}
function subtraction() {
document.writeln("घटाना आपकी मदद करता है");
}
try {
addition();
division(); // यह फंक्शन मौजूद नहीं - एरर होगा
} catch (err) {
document.writeln("भाग देना सीखें: " + err);
} finally {
subtraction(); // यह हमेशा चलेगा
}
</script> </pre> </body> </html>
आउटपुट
हर किसी को जोड़ना आना चाहिए भाग देना सीखें: ReferenceError: division is not defined घटाना आपकी मदद करता है
मुख्य उपयोग के मामले
- रिसोर्स क्लीनअप: फाइल क्लोज करना, कनेक्शन रिलीज करना
- लोडिंग इंडिकेटर छुपाना: सफलता या विफलता दोनों में
- लॉक रिलीज करना: म्यूटेक्स/सेमाफोर मुक्त करना
- लॉगिंग: ऑपरेशन पूरा होने का रिकॉर्ड
व्यावहारिक उदाहरण: फाइल हैंडलिंग
<script>
async function processFile(file) {
let handle;
try {
handle = await openFile(file);
const data = await readFile(handle);
return processData(data);
} catch (error) {
console.error("प्रोसेसिंग विफल:", error);
throw error;
} finally {
if (handle) {
await closeFile(handle); // हमेशा क्लोज होगा
}
}
}
</script>
महत्वपूर्ण नोट्स
finallyबिनाcatchके भी उपयोग हो सकता है:try {...} finally {...}returnस्टेटमेंट के बाद भीfinallyचलता है- यदि
finallyमेंreturnहै, तो यहtry/catchकेreturnको ओवरराइड करता है