CoffeeScript-এ কোডের ত্রুটি (errors) এবং সতর্কতা (warnings) হ্যান্ডলিং করা JavaScript-এ করা হয় এমনই, তবে CoffeeScript-এ কিছু বিশেষ বৈশিষ্ট্য রয়েছে যা ত্রুটির শনাক্তকরণ এবং হ্যান্ডলিং আরও সহজ করে তোলে। এখানে CoffeeScript-এ ত্রুটি এবং সতর্কতা হ্যান্ডলিং করার পদ্ধতি আলোচনা করা হয়েছে।
১. CoffeeScript-এ Error হ্যান্ডলিং
JavaScript-এর মতোই CoffeeScript-এ try, catch, এবং finally ব্লক ব্যবহার করে ত্রুটি (error) হ্যান্ডলিং করা যায়। এটি কোডের কোনো অংশে ত্রুটি ঘটলে সেই ত্রুটির মেসেজ ধারণ করতে এবং প্রয়োজনীয় ব্যবস্থা নিতে সাহায্য করে।
উদাহরণ: try-catch ব্যবহার করে Error হ্যান্ডলিং
try
result = 10 / 0
console.log "Result is #{result}"
catch error
console.log "Error: #{error.message}"
finally
console.log "Execution completed."
JavaScript-এ কম্পাইল হওয়া কোড:
try {
var result = 10 / 0;
console.log("Result is " + result);
} catch (error) {
console.log("Error: " + error.message);
} finally {
console.log("Execution completed.");
}
এখানে, try ব্লকে কোনো ত্রুটি ঘটলে, তা catch ব্লকে ধরা হবে এবং ত্রুটির মেসেজটি প্রদর্শিত হবে। finally ব্লকটি নিশ্চিত করবে যে, কোডটি শেষ হওয়ার পরেও কিছু কার্যক্রম সম্পাদিত হবে।
২. CoffeeScript-এ Error Object
CoffeeScript-এ ত্রুটি হ্যান্ডলিংয়ে error নামের একটি ভ্যারিয়েবল ব্যবহৃত হয়, যা সেই ত্রুটির বিস্তারিত তথ্য ধারণ করে। error.message থেকে ত্রুটির বর্ণনা পাওয়া যায়।
উদাহরণ: Error Object ব্যবহার
try
# কোনো ত্রুটি ঘটানো
throw new Error("This is a custom error")
catch error
console.log "Caught error: #{error.message}"
JavaScript-এ কম্পাইল হওয়া কোড:
try {
throw new Error("This is a custom error");
} catch (error) {
console.log("Caught error: " + error.message);
}
এখানে, throw ব্যবহার করে একটি কাস্টম ত্রুটি তৈরি করা হয়েছে এবং সেটি catch ব্লকে ধরা হয়েছে।
৩. Warning হ্যান্ডলিং
CoffeeScript সরাসরি কোনো বিশেষ warning হ্যান্ডলিং প্রদান করে না, তবে আপনি JavaScript-এর console.warn() মেথড ব্যবহার করে সতর্কতা (warning) তৈরি করতে পারেন। এটি ব্যবহার করে আপনি সতর্কতা প্রদর্শন করতে পারেন, তবে তা ত্রুটি হিসেবে গণ্য হবে না।
উদাহরণ: Warning প্রদর্শন
age = 15
if age < 18
console.warn "Warning: You are under 18!"
JavaScript-এ কম্পাইল হওয়া কোড:
var age = 15;
if (age < 18) {
console.warn("Warning: You are under 18!");
}
এখানে, যদি age 18 এর কম হয়, তবে একটি সতর্কতা বার্তা কনসোলে প্রদর্শিত হবে।
৪. Custom Error Classes
CoffeeScript-এ আপনি কাস্টম ত্রুটি ক্লাস তৈরি করতে পারেন, যেমন JavaScript-এ class ব্যবহৃত হয়। এটি ত্রুটির ধরণ এবং বর্ণনা সংরক্ষণ করতে সাহায্য করে।
উদাহরণ: কাস্টম Error Class
class CustomError extends Error
constructor: (@message) ->
super(@message)
try
throw new CustomError("This is a custom error message")
catch error
console.log "Caught error: #{error.message}"
JavaScript-এ কম্পাইল হওয়া কোড:
class CustomError extends Error {
constructor(message) {
super(message);
}
}
try {
throw new CustomError("This is a custom error message");
} catch (error) {
console.log("Caught error: " + error.message);
}
এখানে, CustomError ক্লাস তৈরি করা হয়েছে এবং তার পর একটি কাস্টম ত্রুটি তৈরি করা হয়েছে যা message গ্রহণ করে।
৫. Error Stack Trace
CoffeeScript-এ আপনি ত্রুটির স্ট্যাক ট্রেসও দেখতে পারেন যা আপনাকে ত্রুটির স্থান শনাক্ত করতে সহায়ক হয়। এটি JavaScript এর মতোই কাজ করে।
উদাহরণ: Error Stack Trace দেখানো
try
throw new Error("This is an error with a stack trace")
catch error
console.log "Error message: #{error.message}"
console.log "Stack trace: #{error.stack}"
JavaScript-এ কম্পাইল হওয়া কোড:
try {
throw new Error("This is an error with a stack trace");
} catch (error) {
console.log("Error message: " + error.message);
console.log("Stack trace: " + error.stack);
}
এখানে, ত্রুটির মেসেজ এবং স্ট্যাক ট্রেস কনসোলে প্রদর্শিত হবে, যা ত্রুটির স্থান এবং কারণ শনাক্ত করতে সাহায্য করবে।
সারাংশ
CoffeeScript-এ ত্রুটি (errors) এবং সতর্কতা (warnings) হ্যান্ডলিং JavaScript-এর মতোই কার্যকরী। try-catch ব্লক, throw, console.warn(), কাস্টম Error ক্লাস এবং Error stack trace ব্যবহার করে আপনি ত্রুটি হ্যান্ডলিং করতে পারবেন। সতর্কতাগুলি ত্রুটি না হলেও console.warn() দ্বারা তা প্রদর্শন করা যায়। CoffeeScript আপনাকে কোডে ত্রুটি শনাক্তকরণ এবং সেগুলির সাথে কার্যকরভাবে মোকাবিলা করার জন্য উপযুক্ত উপায় প্রদান করে।
Read more