কম্পিউটার টিউটোরিয়াল

রুবির এক্সেপশন হায়ারার্কি মাস্টার করুন: একটি جامع গাইড

রুবিতে এক্সেপশনগুলো শুধু ক্লাস। এক্সেপশন হায়ারার্কি Exception ক্লাস থেকে ইনহেরিট করা সব ক্লাসের সমষ্টি।

নিচে রুবি ২.১-এর স্ট্যান্ডার্ড লাইব্রেরির এক্সেপশন হায়ারার্কি দেওয়া হলো:

Exception
  NoMemoryError
  ScriptError
    LoadError
    NotImplementedError
    SyntaxError
  SecurityError
  SignalException
    Interrupt
  StandardError  -- rescue-এর ডিফল্ট
    ArgumentError
    UncaughtThrowError
    EncodingError
    FiberError
    IOError
      EOFError
    IndexError
      KeyError
      StopIteration
    LocalJumpError
    NameError
      NoMethodError
    RangeError
      FloatDomainError
    RegexpError
    RuntimeError  -- raise-এর ডিফল্ট
    SystemCallError
      Errno::*
    ThreadError
    TypeError
    ZeroDivisionError
  SystemExit
  SystemStackError

ব্যবহারিক ব্যবহার

এক্সেপশনগুলো ক্লাস ট্রি আকারে সাজানো হয়েছে যাতে আপনি সহজে একই টাইপের এক্সেপশন রেসকিউ করতে পারেন।

উদাহরণস্বরূপ, নিচের কোডটি বিবেচনা করুন:

begin
  do_something
rescue StandardError => e
end

এটি শুধু StandardError নয়, সেটা থেকে ইনহেরিট করা যেকোনো এক্সেপশনও রেসকিউ করবে। এটা প্রায়শই আপনার আগ্রহের সব এক্সেপশন কভার করে।

আপনার নিজস্ব কোডে, আপনি আপনার সব কাস্টোম এক্সেপশন একটি বেস ক্লাস থেকে ইনহেরিট করতে পারেন:

module MyLib
  class Error < StandardError; end
  class TimeoutError < Error; end
  class ConnectionError < Error; end
end
...
begin
  do_something
rescue MyLib::Error => e
  # উপরে ডিফাইন করা যেকোনো এক্সেপশন রেসকিউ হবে
end
  1. রুবির অবজেক্ট মডেলে গভীর ডাইভ: একটি কমপ্রিহেনসিভ গাইড

  2. রুবিতে কাস্টোম এক্সেপশন মাস্টার করুন: ধাপে ধাপে গাইড

  3. রুবি দিয়ে ইন্সারশন সর্টিং দক্ষতা অর্জন: ধাপে ধাপে গাইড

  4. রুবিতে Dup বনাম Clone: অবজেক্ট কপি করার কৌশলকে মাস্টার করুন