জাভাস্ক্রিপ্ট এর try এবং catch স্টেটমেন্ট ব্যবহার করে জাভাস্ক্রিপ্ট কোডের কোন কোড ব্লকের ভুল বা error নির্ণয় করা যায়।
ইন্টারনেটে যখন আমরা ওয়েবসাইট ব্রাউজ করি তখন অনেক সময় বিভিন্ন জাভাস্ক্রিপ্ট এলার্ট বক্স দেখি। এগুলো আমাদের কে বিভিন্ন রান টাইম এরর সম্পর্কে বলে এবং প্রায়ই প্রস্ন করে যে " Do you wish to debug? " এরর ম্যাসেজ ওয়েব ডেভলপারদের জন্য ভাল কিন্তু সাধারণ ইউজারদের জন্য বিরক্তিকর। এসকল ক্ষেত্রে ইউজার ওয়েবসাইট থেকে বের হয়ে যায়।
এসকল ক্ষেত্রে জাভাস্ক্রিপ্ট try...catch স্টেটমেন্ট আপনাকে এরর ম্যাসেজ নিয়ন্ত্রণ করতে সাহায্য করে। জাভাস্ক্রিপ্ট try...catch স্টেটমেন্ট ব্যবহার করে জাভাস্ক্রিপ্ট কোড ব্লকে ভুল বা error খুজে বের করা হয়। সিনট্যাক্সের try ব্লক সেই সব কোড ধারন করে যে কোড গুলো রান করবে এবং catch ব্লক সেই সকল কোড গুলো ধারন করে যে কোড গুলো execute হবে যদি কোন ভুল বা error পাওয়া যায়।
নিচে জাভাস্ক্রিপ্ট try...catch স্টেটমেন্ট এর সিনট্যাক্স দেখুন।
try { Block of code to try } catch(err) { Block of code to handle errors }
নিচে জাভাস্ক্রিপ্ট এর try...catch স্টেটমেন্ট ব্যবহার করে একটি উদাহরণ দেখুন। নিচের এই উদাহরণে একটি এলার্ট বক্স তৈরি করা হয়েছে যেটা ব্যবহারকারী অর্থাৎ user কে " Welcome guest! " প্রদর্শন করবে। কিন্তু এখানে ইচ্ছাকৃত ভাবে কিছু ভুল তৈরি করা হয়েছে। এর ফলে যখন বাটনে ক্লিক করা হবে তখন একটি জাভাস্ক্রিপ্ট error সংগটিত হবে। এখানে catch ব্লক জাভাস্ক্রিপ্টের ভুল গুলো নির্ণয় করে এবং নিজে থেকে এটা নিয়ন্ত্রণ করার জন্য কিছু জাভাস্ক্রিপ্ট কোড execute করে।
<html> <head> <script type="text/javascript"> var txt=""; function message() { try { adddlert("Welcome guest!"); } catch(err) { txt="There was an error on this page.\n\n"; txt+="Error description: " + err.description + "\n\n"; txt+="Click OK to continue.\n\n"; alert(txt); } } </script> </head> <body> <input type="button" value="View message" onclick="message()" /> </body> </html>
এই উদাহরণটি ইউজারকে বলে দেয় যে ওয়েব পেজটিতে একটি ভুল বা error আছে এবং তা জানা সত্ত্বেও যদি ব্রাউজ করতে চান তবে "Ok" ক্লিক করুন অথবা মুলপাতা বা homepeg এ ফিরে যেতে "cancel" ক্লিক করুন।
<html> <head> <script type="text/javascript"> var txt=""; function message() { try { adddlert("Welcome guest!"); } catch(err) { txt="There was an error on this page.\n\n"; txt+="Click OK to continue viewing this page,\n"; txt+="or Cancel to return to the home page.\n\n"; if(!confirm(txt)) { document.location.href="https://www.websschool.com/"; } } } </script> </head> <body> <input type="button" value="View message" onclick="message()" /> </body> </html>
নোট - জাভাস্ক্রিপ্ট এর try এবং catch স্টেটমেন্ট সম্পর্কে Mozilla Developer Network থেকে আরও বিস্তারিত জানতে try...catch ওয়েব পেজটি ব্রাউজ করুন।