Ruby:
ত্রুটিগুলি পরিচালনা করা
কিভাবে:
রুবি begin
, rescue
, ensure
, এবং end
ব্যবহার করে এরর হ্যান্ডল করে। আপনি ঝুঁকিপূর্ণ কোডটি begin
এবং end
এ আবদ্ধ করেন। যদি কোনও এরর ঘটে, rescue
কাজে লাগে।
begin
# ঝুঁকিপূর্ণ কোড এখানে যায়।
puts 10 / 0
rescue ZeroDivisionError => e
puts "ওহো! আপনি এটা করতে পারবেন না: #{e.message}"
ensure
puts "এটি সর্বদা চলবে, এরর থাকুক আর না থাকুক।"
end
নমুনা আউটপুট:
ওহো! আপনি এটা করতে পারবেন না: 0 দিয়ে ভাগ
এটি সর্বদা চলবে, এরর থাকুক আর না থাকুক।
গভীর ডুব
ঐতিহাসিকভাবে, প্রোগ্রামিং ভাষায় এরর হ্যান্ডলিং লক্ষণীয়ভাবে উন্নত হয়েছে, প্রাথমিক ভাষাগুলো প্রায়শই ক্রুড বা অস্তিত্বহীন মেকানিজম আছে। রুবি’র এক্সেপশন হ্যান্ডলিং পাইথন এবং স্মল্টক এর মত ভাষাগুলো দ্বারা অনুপ্রাণিত।
রুবিতে begin-rescue
এর বিকল্প হল মেথড ডেফিনিশনগুলিতে rescue
ব্যবহার বা অসামান্য ফ্লো কন্ট্রোলের জন্য throw
এবং catch
ব্যবহার করা, যদিও এগুলি সাধারণ এরর হ্যান্ডলিংয়ের জন্য ব্যবহৃত নয়।
একটি আকর্ষণীয় বিষয়: রুবি’র এক্সেপশনগুলি অবজেক্ট (Exception
ক্লাসের ইন্সট্যান্স এবং এর উত্তরসূরি), তাই আপনি কাস্টম এরর ক্লাসগুলি ডিফাইন করতে পারেন এবং কেবল এররগুলি লগ করার চেয়ে বেশি কিছু করতে পারেন — আপনি আরও শক্তিশালী এরর হ্যান্ডলিংয়ের জন্য প্রোগ্রামে রিচ স্টেট বহন করতে পারেন।
আরও দেখুন
- এক্সেপশন এবং এরর হ্যান্ডলিং সম্পর্কিত রুবি ডকুমেন্টেশন: ruby-doc.org
- রুবি এরর হ্যান্ডলিং মূলনীতি সম্পর্কিত বিস্তারিত গাইড: thoughtbot.com