কম্পিউটার

রুবিতে কাস্টম ব্যতিক্রম

রুবিতে আপনার নিজস্ব ব্যতিক্রম তৈরি করা সহজ। শুধু এই ধাপগুলি অনুসরণ করুন:

1. একটি নতুন ক্লাস করুন

ব্যতিক্রম ক্লাস, রুবির অন্য সব কিছুর মতই! একটি নতুন ধরনের ব্যতিক্রম তৈরি করতে, শুধুমাত্র এমন একটি ক্লাস তৈরি করুন যা StandardError বা তার সন্তানদের একটি থেকে উত্তরাধিকারসূত্রে পাওয়া যায়৷

class MyError < StandardError
end

raise MyError

নিয়ম অনুসারে, নতুন ব্যতিক্রমগুলির ক্লাসের নাম "ত্রুটি" দিয়ে শেষ হয়। একটি মডিউলের মধ্যে আপনার কাস্টম ব্যতিক্রমগুলি রাখাও এটি ভাল অভ্যাস। তার মানে আপনার চূড়ান্ত ত্রুটির ক্লাসগুলি এইরকম দেখাবে:ActiveRecord::RecordNotFound এবং Net::HTTP::ConnectionError .

2. একটি বার্তা যোগ করুন

প্রতিটি রুবি ব্যতিক্রম বস্তুর একটি বার্তা বৈশিষ্ট্য আছে। এটি অপেক্ষাকৃত নামের পাশে প্রিন্ট আউট হওয়া টেক্সটটির লম্বা বিট

রুবিতে কাস্টম ব্যতিক্রম একটি ব্যতিক্রমের বার্তা বৈশিষ্ট্যের উদাহরণ

আপনি যখন একটি ব্যতিক্রম উত্থাপন করেন তখন আপনি একটি বার্তা নির্দিষ্ট করতে পারেন, যেমন:

raise MyError, "My message"

এবং আপনি আপনার নিজস্ব কনস্ট্রাক্টর যোগ করে আপনার কাস্টম ত্রুটি ক্লাসে একটি ডিফল্ট বার্তা যোগ করতে পারেন।

class MyError < StandardError
  def initialize(msg="My default message")
    super
  end
end

3. আপনার ব্যতিক্রমে একটি কাস্টম ডেটা অ্যাট্রিবিউট যোগ করুন

আপনি আপনার ব্যতিক্রমে কাস্টম ডেটা যোগ করতে পারেন ঠিক যেমন আপনি এটি অন্য কোনো ক্লাসে করেন। আসুন আমাদের ক্লাসে একটি অ্যাট্রিবিউট রিডার যোগ করি এবং কনস্ট্রাক্টর আপডেট করি।

class MyError < StandardError
  attr_reader :thing
  def initialize(msg="My default message", thing="apple")
    @thing = thing
    super(msg)
  end
end

begin
  raise MyError.new("my message", "my thing")
rescue => e
  puts e.thing # "my thing"
end

এটাই! রুবিতে একটি কাস্টম ত্রুটি বা ব্যতিক্রম তৈরি করা সত্যিই কঠিন নয়। একটি বিষয়ে সচেতন হতে হবে। লক্ষ্য করুন কিভাবে আমরা সবসময় উদাহরণে StandardError থেকে উত্তরাধিকারসূত্রে পেয়েছি? এটা ইচ্ছাকৃত। রুবিতে একটি ব্যতিক্রম শ্রেণী থাকলেও, আপনার কখনই এটি থেকে সরাসরি উত্তরাধিকারী হওয়া উচিত নয়। এই সম্পর্কে আরও তথ্যের জন্য, ব্যতিক্রম এবং StandardError

এর মধ্যে পার্থক্য সম্পর্কে আমাদের নিবন্ধটি দেখুন
  1. Pry এ ব্যতিক্রমের সাথে কাজ করা

  2. রুবিতে ব্যতিক্রমগুলিতে প্রসঙ্গ ডেটা কীভাবে যুক্ত করবেন

  3. রুবিতে ডেকোরেটর ডিজাইন প্যাটার্ন

  4. রুবিতে ব্যতিক্রমগুলি উদ্ধার করা:একটি প্রাইমার