Avatud lähtekoodiga programmeerimiskeel Rubiin on tuntud oma selge süntaksi ja kasutusmugavuse poolest. See ei tähenda, et te aeg-ajalt veateatele ei jõua. Üks kõige häirivamaid on NameErrori initsialiseerimata pidev erand, kuna sellel on mitu põhjust. Erandi süntaks järgib seda vormingut:
Koodi tõrkeotsinguks uurige seda ükshaaval eespool loetletud võimalike põhjuste osas. Kui leiate probleemi, pöörduge selle poole. Näiteks minge läbi kood, otsides lahknevusi muutujate ja klasside suurtähtede ja väiketähtede kasutamisel. Kui leiate ühe ja parandate selle, on teie probleem tõenäoliselt lahendatud. Kui see pole nii, siis jätkake muude võimalike põhjuste uurimisega, parandades end.
Kui klass, millele koodis viitate, on mõnes teises moodulis, siis viidake sellele täisnimega järgmiselt:
Erandiks on see, kuidas Ruby juhib teie tähelepanu koodiprobleemidele. Kui koodis ilmneb tõrge, suurendatakse või visatakse erand ja programm lülitatakse vaikimisi välja.
Ruby avaldab eelnevalt määratletud klassidega erandihierarhia. NameErrors on klassis StandardError koos RuntimeError, ThreadError, RangeError, ArgumentError ja teistega. See klass hõlmab enamikku tavapärastest eranditest, mis ilmnevad tüüpilistes Ruby-programmides.