ओपन-सोर्स प्रोग्रामिंग भाषा माणिक अपने स्पष्ट वाक्यविन्यास और उपयोग में आसानी के लिए जाना जाता है। इसका मतलब यह नहीं है कि आप कभी-कभी एक त्रुटि संदेश में नहीं चलेंगे। सबसे विकरिंग में से एक NameError Uninitialized Constant अपवाद है क्योंकि इसके एक से अधिक कारण हैं। अपवाद का सिंटैक्स इस प्रारूप का अनुसरण करता है:
अपने कोड का निवारण करने के लिए, एक समय में एक से ऊपर सूचीबद्ध संभावित कारणों के लिए इसकी जांच करें। यदि आपको कोई समस्या मिलती है, तो उसे संबोधित करें। उदाहरण के लिए, कोड के माध्यम से ऊपर और नीचे वर्गों और कक्षाओं पर उपयोग में विसंगति की तलाश में जाना। यदि आप एक खोज करते हैं और इसे सही करते हैं, तो आपकी समस्या शायद हल हो गई है। यदि ऐसा नहीं है, तो अन्य संभावित कारणों के माध्यम से जारी रखें, जैसे आप जाते हैं, ठीक करना।
यदि आप जिस कोड को कोड में संदर्भित करते हैं, वह किसी अन्य मॉड्यूल में है, तो उसका पूरा नाम इस तरह देखें:
अपवाद यह है कि रूबी कोड में समस्याओं पर आपका ध्यान कैसे आकर्षित करती है। जब कोड में कोई त्रुटि सामने आती है, तो एक अपवाद "उठाया" या "फेंका जाता है" और प्रोग्राम डिफ़ॉल्ट रूप से बंद हो जाता है।
रूबी पूर्वनिर्धारित कक्षाओं के साथ एक अपवाद पदानुक्रम प्रकाशित करती है। NameErrors StandardError वर्ग में हैं, साथ में RuntimeError, ThreadError, RangeError, ArgumentError और अन्य। इस वर्ग में अधिकांश सामान्य अपवाद शामिल हैं जिन्हें आप सामान्य रूबी कार्यक्रमों में सामना करते हैं।