Limbajul de programare open-source Ruby este cunoscut pentru sintaxa clară și ușurința de utilizare. Asta nu înseamnă că nu veți mai întâmpina un mesaj de eroare. Una dintre cele mai infioratoare este excepția NameError Uninitialized Constant, deoarece are mai multe cauze. Sintaxa excepției urmează acest format:
NumeError: constantă neinițializată Ceva
sau
NameError: constantă inițializată Obiect :: Ceva
(unde diverse nume de clasă sunt în locul Ceva)
Eroarea constantă neinițializată este o variație a unei clase de excepție regulate NameError. Are mai multe cauze posibile.
Pentru a vă depana codul, examinați-l pentru posibilele cauze enumerate mai sus pe rând. Dacă găsiți o problemă, adresați-o. De exemplu, parcurgeți codul căutând o discrepanță în utilizarea literelor mari și minuscule pentru variabile și clase. Dacă găsiți unul și îl corectați, problema dvs. este probabil rezolvată. Dacă nu este așa, continuați și celelalte cauze posibile, rezolvând pe măsură ce mergeți.
Dacă clasa la care faceți referire în cod se află într-un alt modul, consultați-o cu numele său complet astfel:
#! / usr / bin / env rubymodule Clasa MyModule MyClass; endendc = MyModule :: MyClass.new
Excepție fac cum Ruby îți atrage atenția asupra problemelor din cod. Când apare o eroare în cod, o excepție este „ridicată” sau „aruncată” și programul se oprește implicit.
Ruby publică o ierarhie de excepție cu clase predefinite. NameErrors se află în clasa StandardError, împreună cu RuntimeError, ThreadError, RangeError, ArgumentError și altele. Această clasă include majoritatea excepțiilor normale pe care le întâlnești în programele tipice Ruby.