⊗jsSpExcInr 137 of 294 menu

জাভাস্ক্রিপ্টে এক্সেপশন পরিচিতি

এখন আমরা জাভাস্ক্রিপ্টে এক্সেপশন নিয়ে আলোচনা করব। শুরুতে আমি একটি সাধারণ পরিচয় দেব, যেখানে যেকোনো প্রোগ্রামিং ভাষার জন্য এক্সেপশনের উদাহরণ থাকবে, এবং তারপর আমরা বুঝতে পারব, জাভাস্ক্রিপ্টে বিষয়টি কেমন।

যখন আমরা আমাদের প্রোগ্রাম লিখি, তখন অলক্ষ্যে আমরা ধরে নিই যে আমরা যে সমস্ত সফ্টওয়্যার-টেকনিক্যাল মেকানিজম ব্যবহার করি তা সঠিকভাবে কাজ করবে।

যাইহোক, এটি সর্বদা সত্য নয়। নেটওয়ার্কের মাধ্যমে ডেটা প্রেরণের সময় সংযোগ বিচ্ছিন্ন হয়ে যায় এবং ডেটা আমাদের কাছে ভুলভাবে আসে, বা একেবারেই আসে না। ফাইল লেখার সময় দেখা যায়, যে হার্ড ডিস্কে বরাদ্দকৃত জায়গা ফুরিয়ে গেছে, এবং ফাইল লেখা সম্ভব নয়। ফাইল পড়ার সময় দেখা যায় যে এমন কোনো ফাইল নেই এবং আমাদের পড়ার জন্য কিছু নেই। প্রিন্টারে ডেটা প্রিন্ট করার সময় প্রিন্টার এবং কম্পিউটার সংযোগকারী কেবল বিচ্ছিন্ন হয়ে যায়।

বর্ণিত সমস্ত পরিস্থিতির একটি সাধারণ সারমর্ম আছে: একটি নির্দিষ্ট ব্যর্থতা ঘটে, যা পরিকল্পিত অপারেশন সম্পূর্ণ করা অসম্ভব বা অর্থহীন করিয়ে দেয়।

আবার এমন পরিস্থিতিও আছে, যেখানে একটি ত্রুটি ঘটে, যা ব্যর্থতা নয়। উদাহরণস্বরূপ, আপনি ব্যবহারকারীর কাছ থেকে তার ইমেইল জিজ্ঞাসা করেন, এবং সে ভুল ফর্ম্যাটে ইমেইল প্রবেশ করায়। বুঝতেই পারছেন, আমাদের প্রোগ্রাম ইমেইল প্রক্রিয়া করা চালিয়ে যেতে পারে না, কারণ এটি সঠিক নয়। কিন্তু, তবুও এটা - কোনো এক্সেপশনাল পরিস্থিতি নয়। আমাদের প্রোগ্রাম নিজেই পরিস্থিতি সংশোধন করতে পারে: এটি একটি ত্রুটি বার্তা প্রদর্শন করবে এবং ব্যবহারকারী তার ইনপুট পুনরাবৃত্তি করবে।

আসলে ব্যর্থতা এবং অ-ব্যর্থতার মধ্যে পার্থক্য বেশ অস্পষ্ট। একটি ঘটনা, যা একটি প্রোগ্রাম এক্সেপশনাল পরিস্থিতি হিসেবে ব্যাখ্যা করতে পারে, অন্য প্রোগ্রাম সেটিকে একটি ত্রুটি হিসেবে ব্যাখ্যা করতে পারে, যার সাথে এটি মোকাবিলা করতে সক্ষম।

এখানে মানদণ্ডটি নিম্নরূপ: যদি সমস্যা সৃষ্টির সময় আপনার প্রোগ্রাম যা করার জন্য তৈরি তা চালিয়ে যেতে পারে, তবে এটি এক্সেপশনাল পরিস্থিতি নয়, এবং যদি না পারে - তবে হ্যাঁ, এটি একটি এক্সেপশন।

উদাহরণস্বরূপ, আমাদের একটি প্রোগ্রাম আছে, যার ব্যবহারকারীর ইমেইল জিজ্ঞাসা করা উচিত। যদি ব্যবহারকারী ভুল ফর্ম্যাটে ইমেইল প্রবেশ করায় - এটি ব্যর্থতা নয়। এটি একটি প্রত্যাশিত সমস্যা এবং আমাদের প্রোগ্রাম ব্যবহারকারীর কাছ থেকে ইমেইল জিজ্ঞাসা করতে থাকবে যতক্ষণ না সে এটি সঠিকভাবে প্রবেশ করায়।

ধরুন আমাদের প্রোগ্রাম, যা ইমেইল জিজ্ঞাসা করে, তাকে ইন্টারনেটের মাধ্যমে এই সঠিক ইমেইলটি পাঠাতেও হবে। তখন দেখা গেল, যে ইন্টারনেট কাজ করছে না। এটিই এখন একটি সমস্যা: ইন্টারনেট কাজ না করলে প্রোগ্রাম কিছুতেই ডেটা ইন্টারনেটের মাধ্যমে পাঠাতে পারবে না। তবুও প্রোগ্রামটি তার কার্যক্রম চালিয়ে যেতে পারে: এটি সমস্যা সম্পর্কে তথ্য প্রদর্শন করতে পারে, কিছু সময় পরে পাঠানোর চেষ্টা পুনরাবৃত্তি করতে পারে, ইত্যাদি। কিন্তু এই কাজগুলো ঠিক সেই উদ্দেশ্য নয়, যার জন্য প্রোগ্রামটি তৈরি হয়েছিল, কারণ প্রধান কাজ - ইমেইল পাঠানো প্রোগ্রাম করতে পারবে না।

প্রায়শই, এটি একটি এক্সেপশনাল পরিস্থিতি কিনা তা প্রোগ্রামিং ভাষার উপর নির্ভর করে। অনেক ভাষায়, যদি হঠাৎ করে শূন্য দিয়ে বিভাজন ঘটে - এটিকে একটি এক্সেপশন হিসেবে গণ্য করা হয় (কারণ শূন্য দিয়ে ভাগ করা যায় না), কিন্তু জাভাস্ক্রিপ্টে - গণ্য করা হয় না (জাভাস্ক্রিপ্টে শূন্য দিয়ে ভাগ করা যায়)।

escsmsnlbn