JavaScript Errors

জাভাস্ক্রিপ্ট ত্রুটিগুলি পরিচালনা করতে শিখুন

ভুল হয়!

JavaScript কোড চালানোর সময়, বিভিন্ন ত্রুটি ঘটতে পারে।

ত্রুটিগুলি হল প্রোগ্রামার দ্বারা করা কোডিং ত্রুটি, ভুল ইনপুটের কারণে ত্রুটি এবং অন্যান্য অপ্রত্যাশিত জিনিসগুলি:

Reference Errors- রেফারেন্স ত্রুটি
Type Errors- টাইপ ত্রুটি
Range Errors- পরিসীমা ত্রুটি
URI Errors- URI ত্রুটি
Syntax Errors- সিনট্যাক্স ত্রুটি
Eval Error- ইভাল ত্রুটি (বঞ্চিত)
Silent Errors- সাইলেন্ট বাগ (পরবর্তী অধ্যায়)

জাভাস্ক্রিপ্ট ত্রুটিগুলি কীভাবে পরিচালনা করবেন

চেষ্টা বিবৃতি আপনাকে ত্রুটির জন্য পরীক্ষা করার জন্য কোডের একটি ব্লক সংজ্ঞায়িত করতে দেয়।

ক্যাচ স্টেটমেন্ট আপনাকে কোডের একটি ব্লক সংজ্ঞায়িত করার অনুমতি দেয় যদি ট্রাই ব্লকে কোনো ত্রুটি দেখা দেয়।

জাভাস্ক্রিপ্ট চেষ্টা করুন এবং ধরা বিবৃতি জোড়ায় আসে:

চেষ্টা করুন { // কোড ব্লক পরীক্ষা করা হবে } ধরা(ত্রুটি) { // কোড ব্লক যা ত্রুটি পরিচালনা করে }

🛡️ত্রুটি পরিচালনার গুরুত্ব:

চেষ্টা করুন...ক্যাচ স্টেটমেন্টগুলি আপনার প্রোগ্রামগুলিকে অপ্রত্যাশিত ত্রুটিগুলি বাধা না দিয়ে চালিয়ে যেতে দেয়, আপনাকে আরও নির্ভরযোগ্য এবং ব্যবহারকারী-বান্ধব অ্যাপ্লিকেশন তৈরি করতে সহায়তা করে।

Reference Errors

বিদ্যমান নেই এমন একটি ভেরিয়েবল ব্যবহার (রেফারেন্সিং) একটি রেফারেন্স ত্রুটির কারণ হবে।

ত্রুটির ধরন উদাহরণ ত্রুটি
ReferenceError fname = foo; foo সংজ্ঞায়িত করা হয় না
ReferenceError let x = y;
let y = 5;
আরম্ভ করার আগে y অ্যাক্সেস করা যাবে না

উদাহরণ

একটি অস্তিত্বহীন পরিবর্তনশীল ব্যবহার করা যাবে না:

let x = 5;

try {
  x = y + 1;
} catch(err) {
  let text = err.name;
}

আরম্ভ করার আগে একটি পরিবর্তনশীল অ্যাক্সেস করা যাবে না:

try {
  let x = y;
  let y = 5;
} catch(err) {
  let text = err.name;
}

JavaScript Type Errors

একটি টাইপ ত্রুটি ঘটে যখন একটি মান ভুল ধরনের হয় বা একটি ফাংশন সেই ধরনের জন্য অবৈধ হয়।

ত্রুটি উদাহরণ ত্রুটি বার্তা
TypeError Anna(5); আনা কোন ফাংশন নয়
Type Error let num = 1;
num.toUpperCase();
num.toUpperCase

উদাহরণ

Anna() একটি ফাংশন নয়:

try {
  Anna(5);
} catch(err) {
  let text = err.name;
}

একটি সংখ্যাকে বড় হাতের অক্ষরে রূপান্তর করা যাবে না:

let num = 1;
try {
  num.toUpperCase();
} catch(err) {
  let text = err.name;
}

JavaScript Range Errors

একটি RangeError ঘটে যখন একটি মান তার বৈধ সীমার বাইরে থাকে।

ত্রুটির ধরন উদাহরণ ত্রুটি বার্তা
RangeError new Array(-1); অবৈধ সারির দৈর্ঘ্য
RangeError num.toPrecision(500); toPrecision() আর্গুমেন্ট অবশ্যই 1 এবং 100 এর মধ্যে হতে হবে

উদাহরণ

অ্যারে উপাদানের সংখ্যা -1 সেট করা যাবে না:

try {
  new Array(-1);
} catch(err) {
  let text = err.name;
}

একটি সংখ্যার উল্লেখযোগ্য সংখ্যা 500 সেট করা যাবে না:

যাক num = 1; চেষ্টা করুন { num.toPrecision(500); // একটি সংখ্যায় 500টি উল্লেখযোগ্য সংখ্যা থাকতে পারে না } ধরা(ত্রুটি) { let text = err.name; }

JavaScript URI Errors

(Uniform Resource Identifier Errors)

আপনি একটি URI ফাংশনে অবৈধ অক্ষর ব্যবহার করলে একটি URIError ঘটে:

ত্রুটির ধরন উদাহরণ ত্রুটি বার্তা
URIError decodeURI("%%%"); URI খারাপভাবে ফরম্যাট করা হয়েছে

উদাহরণ

চেষ্টা করুন { decodeURI("%%%"); // আপনি URI শতাংশ চিহ্ন ডিকোড করতে পারবেন না } ধরা(ত্রুটি) { document.getElementById("demo").innerHTML = err.name; }

JavaScript Syntax Errors

একটি সিনট্যাক্স ত্রুটি ঘটে যখন কোড জাভাস্ক্রিপ্টের ব্যাকরণের নিয়ম লঙ্ঘন করে।

ত্রুটি উদাহরণ ত্রুটি
SyntaxError fname = "John); অবৈধ বা অপ্রত্যাশিত টোকেন)
SyntaxError Math.round(4.6; ) যুক্তি তালিকার পরে অনুপস্থিত

উদাহরণ

আমরা এই উদাহরণে স্ট্রিং বন্ধ করতে ভুলে গেছি:

// জাভাস্ক্রিপ্ট এই লাইন পার্স করতে পারে না let fName = "জন); // গতি এখানে থামে

উপরের বিবৃতিটি একটি ত্রুটি তৈরি করবে: অবৈধ বা অপ্রত্যাশিত টোকেন৷

প্রোগ্রাম চালানো বন্ধ হবে!

⚠️সিনট্যাক্স ত্রুটি ধরা যাবে না

সিনট্যাক্স ত্রুটিগুলি চেষ্টা করে ধরা যায় না... ধরা

সিনট্যাক্স ত্রুটি আন্দোলনের আগে ঘটবে

উদাহরণ

নীচের কোডটি একটি ত্রুটি তৈরি করা উচিত, কিন্তু এটি করে না:

try {
  let x = Math.round(4.6;)
} catch(err) {
  let text = err.name + " " + err.description;
}

সিনট্যাক্স সমস্যা

Math.round(4.6;)

উপরের লাইনটি সিনট্যাক্টিক্যালি ভুল জাভাস্ক্রিপ্ট। বন্ধনীর ভিতরে একটি অতিরিক্ত সেমিকোলন আছে। সঠিক সিনট্যাক্স হওয়া উচিত:

Math.round(4.6);

কেন

পয়েন্ট হল কিভাবে ব্রাউজার সিনট্যাক্স ত্রুটিগুলি পরিচালনা করে:

জাভাস্ক্রিপ্ট ইঞ্জিন স্ক্রিপ্ট চালানোর আগে একটি সিনট্যাক্স ত্রুটি নিক্ষেপ করে।

চেষ্টা করার আগে সিনট্যাক্স ত্রুটি ধরা পড়ে...ক্যাচ ব্লক কার্যকর করা হয়।

এর মানে হল চেষ্টা মডিউল কখনই শুরু হয় না। স্ক্রিপ্টটি চলতে ব্যর্থ হয় (পাঠ্য = কোন আপডেট নেই)।

💡দ্রষ্টব্য:

ব্রাউজার কনসোল (F12 → কনসোল ট্যাব) এরকম কিছু প্রদর্শন করবে:

অপ্রকাশিত সিনট্যাক্স ত্রুটি: অনুপস্থিত ) আর্গুমেন্ট তালিকার পরে।

JavaScript Eval Error

একটি EvalError eval() ফাংশনে একটি ত্রুটি নির্দেশ করে।

জাভাস্ক্রিপ্টের নতুন সংস্করণ আর EvalError নিক্ষেপ করে না।

পরিবর্তে SyntaxError ব্যবহার করুন।

🚫eval() বঞ্চিত হয়েছে:

eval() ফাংশনের ব্যবহার নিরাপত্তা সমস্যার কারণে সীমাবদ্ধ এবং আধুনিক জাভাস্ক্রিপ্ট কোড এড়ানো উচিত।

আরও দেখুন:

JavaScript Silent Errors

সতর্কতা ছাড়াই যে ত্রুটিগুলি ঘটে সে সম্পর্কে জানুন৷

JavaScript Error Statements

ত্রুটি বিবৃতি এবং তাদের সিনট্যাক্স সম্পর্কে জানুন

JavaScript Debugging

জাভাস্ক্রিপ্ট ত্রুটিগুলি খুঁজে বের করা এবং ঠিক করার বিষয়ে জানুন৷

জাভাস্ক্রিপ্ট ত্রুটি টিউটোরিয়াল

জাভাস্ক্রিপ্ট ত্রুটি সম্পর্কে আপনার জ্ঞান পরীক্ষা করার জন্য এই অনুশীলনটি চেষ্টা করুন।

নিম্নলিখিত শব্দগুলির মধ্যে শুধুমাত্র একটি আইনি জাভাস্ক্রিপ্ট বিবৃতি, কোনটি?

find
✗ ভুল! "ফাইন্ড" জাভাস্ক্রিপ্টে একটি কীওয়ার্ড নয়, এটি শুধুমাত্র একটি অ্যারে পদ্ধতি
check
✗ ভুল! "চেক" জাভাস্ক্রিপ্টে একটি কীওয়ার্ড নয়
try
✓ ঠিক আছে! "ট্রাই" হল জাভাস্ক্রিপ্টের একটি কীওয়ার্ড যা ত্রুটি পরিচালনার জন্য ব্যবহৃত হয়। এটা চেষ্টার অংশ...ক্যাচ স্টেটমেন্ট
execute
✗ ভুল! "execute" জাভাস্ক্রিপ্টে একটি কীওয়ার্ড নয়