Le langage de programmation open source Ruby est connu pour sa syntaxe claire et sa facilité d'utilisation. Cela ne signifie pas que vous ne rencontrerez pas occasionnellement un message d'erreur. L'une des plus contrariantes est l'exception de constante non initialisée NameError car elle a plusieurs causes. La syntaxe de l'exception suit ce format:
NameError: constante non initialisée Quelque chose
ou
NameError: Constante non initialisée Object :: Something
(où divers noms de classe sont à la place de Quelque chose)
L'erreur constante non initialisée est une variante d'une classe d'exception NameError régulière. Il a plusieurs causes possibles.
Pour dépanner votre code, examinez-le pour les causes possibles répertoriées ci-dessus une à la fois. Si vous rencontrez un problème, résolvez-le. Par exemple, parcourez le code à la recherche d'une différence dans l'utilisation des majuscules et des minuscules sur les variables et les classes. Si vous en trouvez un et le corrigez, votre problème est probablement résolu. Si ce n'est pas le cas, continuez à travers les autres causes possibles, corrigeant au fur et à mesure.
Si la classe à laquelle vous faites référence dans le code se trouve dans un autre module, faites-lui référence avec son nom complet comme ceci:
#! / usr / bin / env rubymodule MyModule class MyClass; endendc = MyModule :: MyClass.new
Les exceptions sont la façon dont Ruby attire votre attention sur les problèmes du code. Lorsqu'une erreur dans le code est rencontrée, une exception est "levée" ou "levée" et le programme s'arrête par défaut.
Ruby publie une hiérarchie d'exceptions avec des classes prédéfinies. NameErrors sont dans la classe StandardError, avec RuntimeError, ThreadError, RangeError, ArgumentError et autres. Cette classe comprend la plupart des exceptions normales que vous rencontrez dans les programmes Ruby typiques.