6.3 Try-Catch-Finally দিয়ে এরর হ্যান্ডলিং

 
জাভাস্ক্রিপ্ট এ “এরর হ্যান্ডেলিং” এর জন্য আমরা ট্রাই-ক্যাচ-ফাইনালি ব্লক ব্যবহার করি। এটি প্রকৃতপক্ষে একটি এক্সেপশন হ্যান্ডেলিং এর একটি রাস্তা। প্রথমে আসুন এই ব্লকগুলোর কাজ সম্পর্কে কিছু প্রাথমিক ধারনা নিয়ে নেই।

ট্রাই ব্লকঃ এই ব্লকে আমরা কোডের সেই অংশগুলোই রাখবো যেখানে কোনো ধরনের এরর হওয়ার সম্ভাবনা রয়েছে অথবা এমনও হতে পারে যে আমরা নিজেরাই হয়তো সেখান থেকে এরর থ্রো করছি।

ক্যাচ ব্লকঃ  ট্রাই ব্লকের কোডে কোনো এরর পাওয়া গেলে সেটাকে আমরা কিভাবে হ্যান্ডেল করবো এই সম্পর্কিত সব কোড আমরা ক্যাচ ব্লকে লিখবো। অর্থাৎ ট্রাই ব্লক থেকে থ্রো করা এরর ক্যাচ করে আমরা এখানে পরবর্তী কাজ করবো।

ফাইনালি ব্লকঃ মনে রাখতে হবে যে ফাইনালি ব্লকের কোড সবসময় ট্রাই-ক্যাচ ব্লকের পরে রান করবে। আমরা যদি এমন কিছু করতে চাই যেই কাজটা প্রতিবার ট্রাই-ক্যাচ ব্লকের পরে হওয়া প্রয়োজন তাহলে সেটার জন্য ফাইনালি ব্লক ব্যবহার করতে পারি।

উপরের তিনটি ব্লকের মধ্যে ক্যাচ এবং ফাইনালি ব্লক দুটি কিন্তু অপশনাল অথবা ঐচ্ছিক। অর্থাৎ ট্রাই ব্লকটির সাথে ক্যাচ এবং ফাইনালি ব্লক দুইটি লিখতেই হবে এমন কোনো বাধ্যবাধকতা নেই। এই ব্লক দুটি আমরা আমাদের প্রয়োজন অনুযায়ী ব্যবহার করতে পারবো।

try {
    // কোনো ধরনের এক্সেপশন থ্রো হওয়ার আগ পর্যন্ত এই ব্লকের কোড রান করতে থাকবে
} catch {
   // ট্রাই ব্লক থেকে কোনো এক্সেপশন থ্রো হলে এই ব্লকের কোড রান করবে
} finally {
// এক্সেপশন থ্রো হোক অথবা না হোক, ট্রাই এবং ক্যাচ ব্লকের পরেই এই ব্লকের কোড রান করবে
}

 

একটি প্রোগ্রামে বিভিন্ন ধরনের এরর আসাই স্বাভাবিক। এই ব্লকগুলো ব্যবহারের সুবিধা হলো কোনো এরর ধরা পড়লে সেটির জন্য আমাদের প্রোগ্রাম যাতে বন্ধ না হয়ে যায় এটা নিশ্চিত করা। ট্রাই ক্যাচ ব্লক ব্যবহার করে আমরা বিভিন্ন ধরনের এরর এর জন্য আমাদের প্রোগ্রাম কিরকম আচরণ করবে সেটা বলে দিতে পারি। নিচের ফ্লোচার্ট-টি দেখলে আপনারা এসম্পর্কে আরো পরিষ্কার ধারনা পাবেন।

javascript try catch finally

চিত্রঃ ট্রাই-ক্যাচ-ফাইনালি ব্লক