„Ruby NameError“: neinicijuota nuolatinė klaida

Atvirojo kodo programavimo kalba Rubinas yra žinomas dėl aiškios sintaksės ir lengvo naudojimo. Tai nereiškia, kad retkarčiais nepateksite klaidos pranešimo. Viena iš labiausiai erzinančių yra „NameError“ neinicializuota nuolatinė išimtis, nes ji turi daugiau nei vieną priežastį. Išimties sintaksė atitinka šį formatą:

Norėdami pašalinti savo kodo triktis, patikrinkite, ar jame nėra aukščiau išvardytų galimų priežasčių. Jei radote problemą, spręskite ją. Pvz., Pereikite kodą ir ieškokite neatitikimų didžiosiomis ir mažosiomis raidėmis kintamiesiems ir klasėms. Jei ją rasite ir ją ištaisysite, tikriausiai jūsų problema bus išspręsta. Jei taip nėra, tęskite nurodydami kitas galimas priežastis, spręsdami.

Jei klasė, kuriai nurodote kodą, yra kitame modulyje, nurodykite visą vardą tokiu pavadinimu:

Išimtys yra tai, kaip „Ruby“ atkreipia jūsų dėmesį į kodo problemas. Kai įvyksta kodo klaida, išimtis „iškeliama“ arba „išmesta“ ir programa pagal nutylėjimą išsijungia.

„Ruby“ skelbia išimčių hierarchiją su iš anksto nustatytomis klasėmis. „NameErrors“ yra „StandardError“ klasėje, kartu su „RuntimeError“, „ThreadError“, „RangeError“, „ArgumentError“ ir kitomis. Į šią klasę įeina dauguma įprastų išimčių, su kuriomis susiduriate tipinėse „Ruby“ programose.

instagram viewer

instagram story viewer