Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Ruby

रूबी अपवाद पदानुक्रम को समझना

रुबी में अपवाद सिर्फ कक्षाएं हैं। अपवाद अपवाद पदानुक्रम उन सभी वर्गों से बना है जो अपवाद से इनहेरिट करते हैं।

यहां रूबी 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. रूबी में कस्टम अपवाद

    रूबी में अपने स्वयं के अपवाद बनाना आसान है। बस इन चरणों का पालन करें: 1. एक नई कक्षा बनाएं अपवाद वर्ग हैं, जैसे रूबी में बाकी सब कुछ! एक नए प्रकार का अपवाद बनाने के लिए, बस एक ऐसा वर्ग बनाएं जो StandardError या उसके किसी बच्चे से विरासत में मिला हो। class MyError < StandardError end raise MyErr

  1. रूबी में इंसर्शन सॉर्ट को समझना

    नोट:रूबी के साथ विभिन्न सॉर्टिंग एल्गोरिदम को लागू करने पर विचार करने वाली श्रृंखला में यह भाग 4 है। भाग 1 ने बबल सॉर्ट की खोज की, भाग 2 ने चयन प्रकार की खोज की, और भाग 3 ने मर्ज सॉर्ट की खोज की। जैसा कि हम डेटा सॉर्ट करने के लिए विभिन्न तरीकों का पता लगाना जारी रखते हैं, हम इंसर्शन सॉर्ट की ओर रु

  1. रूबी में डुप बनाम क्लोन:अंतर को समझना

    क्या आप जानते हैं कि आप रूबी में किसी वस्तु की प्रतिलिपि बना सकते हैं? इतना ही नहीं, ऐसा करने के दो अलग-अलग तरीके हैं! ये विधियां हैं : dup clone हम एक पल में मतभेदों का पता लगाएंगे, लेकिन पहले… आप किसी वस्तु का क्लोन क्यों बनाना चाहते हैं ? रूबी में कई वस्तुएं परिवर्तनशील हैं, आप उन्हें बदल