কম্পিউটার

রুবি ব্যতিক্রম শ্রেণিবিন্যাস বোঝা

ব্যতিক্রম শুধুমাত্র রুবি ক্লাস. ব্যতিক্রম ব্যতিক্রম শ্রেণিবিন্যাসটি ব্যতিক্রম থেকে উত্তরাধিকারসূত্রে পাওয়া সমস্ত শ্রেণির সমন্বয়ে গঠিত।

রুবি 2.1-এর স্ট্যান্ডার্ড লাইব্রেরির জন্য এখানে একটি ব্যতিক্রম শ্রেণিবিন্যাস রয়েছে।

Exception
  NoMemoryError
  ScriptError
    LoadError
    NotImplementedError
    SyntaxError
  SecurityError
  SignalException
    Interrupt
  StandardError -- default for rescue
    ArgumentError
      UncaughtThrowError
    EncodingError
    FiberError
    IOError
      EOFError
    IndexError
      KeyError
      StopIteration
    LocalJumpError
    NameError
      NoMethodError
    RangeError
      FloatDomainError
    RegexpError
    RuntimeError -- default for 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
  # Rescues any of the exceptions defined above
end



  1. রুবি অবজেক্ট মডেল গভীরভাবে বোঝা

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

  3. রুবিতে সন্নিবেশ বাছাই বোঝা

  4. রুবিতে ডুপ বনাম ক্লোন:পার্থক্য বোঝা