ভুল হয়!
JavaScript কোড চালানোর সময়, বিভিন্ন ত্রুটি ঘটতে পারে।
ত্রুটিগুলি হল প্রোগ্রামার দ্বারা করা কোডিং ত্রুটি, ভুল ইনপুটের কারণে ত্রুটি এবং অন্যান্য অপ্রত্যাশিত জিনিসগুলি:
জাভাস্ক্রিপ্ট ত্রুটিগুলি কীভাবে পরিচালনা করবেন
চেষ্টা বিবৃতি আপনাকে ত্রুটির জন্য পরীক্ষা করার জন্য কোডের একটি ব্লক সংজ্ঞায়িত করতে দেয়।
ক্যাচ স্টেটমেন্ট আপনাকে কোডের একটি ব্লক সংজ্ঞায়িত করার অনুমতি দেয় যদি ট্রাই ব্লকে কোনো ত্রুটি দেখা দেয়।
জাভাস্ক্রিপ্ট চেষ্টা করুন এবং ধরা বিবৃতি জোড়ায় আসে:
চেষ্টা করুন { // কোড ব্লক পরীক্ষা করা হবে } ধরা(ত্রুটি) { // কোড ব্লক যা ত্রুটি পরিচালনা করে }
ত্রুটি পরিচালনার গুরুত্ব:
চেষ্টা করুন...ক্যাচ স্টেটমেন্টগুলি আপনার প্রোগ্রামগুলিকে অপ্রত্যাশিত ত্রুটিগুলি বাধা না দিয়ে চালিয়ে যেতে দেয়, আপনাকে আরও নির্ভরযোগ্য এবং ব্যবহারকারী-বান্ধব অ্যাপ্লিকেশন তৈরি করতে সহায়তা করে।
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
জাভাস্ক্রিপ্ট ত্রুটিগুলি খুঁজে বের করা এবং ঠিক করার বিষয়ে জানুন৷
জাভাস্ক্রিপ্ট ত্রুটি টিউটোরিয়াল
জাভাস্ক্রিপ্ট ত্রুটি সম্পর্কে আপনার জ্ঞান পরীক্ষা করার জন্য এই অনুশীলনটি চেষ্টা করুন।