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.
JavaScript में try...catch का use Exceptions को handle करने के लिए किया जाता है , ताकि program terminate न होकर normally run हो सके।
try { // code... } catch(errorObj) { // error handling }
जैसा कि आपने पिछले topic में पढ़ा होगा कि , जब में Run Time Error आती है तो JavaScript उस Error का Object return करती है , जिसकी main properties - name (error name) और message (error message) होती हैं।
तो try{ } block के अंदर हम अपना सारा code / logic लिखते हैं और अगर जब भी कोई Run Time Error आती है तो us error को हम catch{} block में handle करते हैं जहां हमें उस Errorका Object मिलता हैं।
और अगर कोई Error नहीं आती तो program normal flow में run होता है।
File : trycatch.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript Exception Handling Using try..catch 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}`); /* print Error message */
}
</script>
</body>
</html>
? Backticks (``) का use करके string में हम ${ } ( dollar curly braces) के अंदर हम direct variables को print करा सकते हैं। और <br> का use line break करने के लिए करते हैं।
Explanation : दिए गए example में blah variable print कराने की कोशिश की गयी है जो कि undefined है , Error आते ही हम catch block में move हो गए जहाँ error name और message print कराया गया है।
? try...catch के through हम सिर्फ Run Time Errors (जिन्हे Exception कहते हैं) को ही handle कर सकते हैं , Syntax Error या Logical Errors को नहीं। अगर program में syntactically error है तो उसके लिए यह काम नहीं करेगा।
try { document.write(x; } catch(ErrorObj) { /*we can't handle it*/ }
JavaScript में try...catch synchronously work करती हैं , means हम try ...catch के through asynchronous error handle नहीं कर सकते हैं।
for example :
<script type="text/javascript">
try
{
setTimeout(function()
{
anyvariable; /* script will terminate here */
}, 1000);
}
catch (eroor)
{
alert( "it will not work" );
}
</script>
चूंकि setTimeOut() एक Asynchronous function है , और जब तक यह function run होता है तब तक js engine try...catch block को छोड़ चुका होता है।
इस तरह के Asynchronous function में exception handle करने के लिए हमें try...catch का use function के अंदर ही करना पड़ेगा।
File : trycatch2.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript Exception Handling for asunchronous code In Hindi </title>
</head>
<body>
<script type="text/javascript">
setTimeout(function(){
try {
document.write(anyvariable); /* script will terminate here */
}
catch(error) {
document.write(error);
}
}, 1000);
</script>
</body>
</html>