CoffeeScript-এ Error Throw এবং Custom Error তৈরি করা JavaScript-এ একইভাবে করা হয়, তবে CoffeeScript সিনট্যাক্স অনেক বেশি সংক্ষিপ্ত এবং পাঠযোগ্য। এখানে Error throw এবং Custom Error তৈরি করার পদ্ধতি আলোচনা করা হয়েছে।
Error Throw করা
JavaScript-এ যেমন throw কিওয়ার্ড ব্যবহার করা হয়, ঠিক তেমনি CoffeeScript-এও একই পদ্ধতি ব্যবহার করা হয়। এর মাধ্যমে আপনি একটি কাস্টম বা প্রাক-ডিফাইনড এরর throw করতে পারেন।
উদাহরণ: Basic Error Throw
try
throw new Error("Something went wrong!")
catch error
console.log "Error: #{error.message}"
এই কোডে, throw কিওয়ার্ড ব্যবহার করে একটি Error তৈরি করা হয়েছে, এবং catch ব্লক এটি ধরেছে এবং এর মেসেজ কনসোলে প্রিন্ট করেছে।
JavaScript-এ কম্পাইল হওয়া কোড:
try {
throw new Error("Something went wrong!");
} catch (error) {
console.log("Error: " + error.message);
}
Custom Error তৈরি করা
কাস্টম এরর (Custom Error) তৈরি করার জন্য একটি নতুন এরর ক্লাস তৈরি করতে হয়, যা Error ক্লাস থেকে ইনহেরিট (inherit) করবে। এই কাস্টম এররটি আপনি নির্দিষ্ট পরিস্থিতিতে throw করতে পারবেন।
উদাহরণ: Custom Error তৈরি করা
class CustomError extends Error
constructor: (message) ->
super(message)
@name = "CustomError"
try
throw new CustomError("This is a custom error")
catch error
console.log "#{error.name}: #{error.message}"
এখানে, CustomError ক্লাস তৈরি করা হয়েছে যা Error ক্লাস থেকে ইনহেরিট করেছে। যখন এই কাস্টম এররটি থ্রো করা হয়, তখন এটি একটি name প্রপার্টি ধারণ করবে যা "CustomError" হবে।
JavaScript-এ কম্পাইল হওয়া কোড:
class CustomError extends Error {
constructor(message) {
super(message);
this.name = "CustomError";
}
}
try {
throw new CustomError("This is a custom error");
} catch (error) {
console.log(error.name + ": " + error.message);
}
Custom Error-এ অতিরিক্ত প্রপার্টি যোগ করা
কাস্টম এরর ক্লাসে আপনি অতিরিক্ত প্রপার্টি বা মেথডও যোগ করতে পারেন। উদাহরণস্বরূপ, আপনি যদি একটি কোডের ভুল অবস্থান বা টাইমস্ট্যাম্প রাখতে চান, তাহলে তা কাস্টম এররের মধ্যে অন্তর্ভুক্ত করতে পারেন।
উদাহরণ: Custom Error with Additional Properties
class CustomError extends Error
constructor: (message, code) ->
super(message)
@name = "CustomError"
@code = code
@timestamp = new Date()
try
throw new CustomError("Something went wrong", 500)
catch error
console.log "#{error.name}: #{error.message} (Code: #{error.code})"
console.log "Timestamp: #{error.timestamp}"
এখানে, কাস্টম এররে একটি অতিরিক্ত code এবং timestamp প্রপার্টি যোগ করা হয়েছে, যা এরর সম্পর্কে আরও বিস্তারিত তথ্য প্রদান করবে।
JavaScript-এ কম্পাইল হওয়া কোড:
class CustomError extends Error {
constructor(message, code) {
super(message);
this.name = "CustomError";
this.code = code;
this.timestamp = new Date();
}
}
try {
throw new CustomError("Something went wrong", 500);
} catch (error) {
console.log(error.name + ": " + error.message + " (Code: " + error.code + ")");
console.log("Timestamp: " + error.timestamp);
}
CoffeeScript-এ Error Handling
CoffeeScript-এ try, catch, এবং finally ব্লক ব্যবহার করে এরর হ্যান্ডলিং করা হয়। এই ব্লকগুলি JavaScript-এর মতোই কাজ করে, তবে CoffeeScript-এ এগুলি অনেক বেশি সংক্ষিপ্ত এবং সহজভাবে লেখা যায়।
উদাহরণ: Try-Catch-Finally ব্যবহার
try
throw new Error("An unexpected error occurred")
catch error
console.log "Caught an error: #{error.message}"
finally
console.log "This will always run, regardless of error"
JavaScript-এ কম্পাইল হওয়া কোড:
try {
throw new Error("An unexpected error occurred");
} catch (error) {
console.log("Caught an error: " + error.message);
} finally {
console.log("This will always run, regardless of error");
}
সারাংশ
CoffeeScript-এ Error Throw এবং Custom Error তৈরি করার পদ্ধতি JavaScript-এর মতোই। তবে CoffeeScript-এ সিনট্যাক্স অনেক বেশি সহজ এবং সংক্ষিপ্ত। আপনি throw কিওয়ার্ড ব্যবহার করে এরর throw করতে পারেন এবং Error ক্লাসকে ইনহেরিট করে কাস্টম এরর তৈরি করতে পারেন। এছাড়া, কাস্টম এরর তৈরি করে অতিরিক্ত প্রপার্টি যোগ করা এবং কাস্টম মেসেজ প্রদান করা যায়, যা আপনার কোডের ত্রুটিগুলি আরও বিস্তারিত এবং ট্র্যাকযোগ্য করে তোলে।
Read more