/* * NAME: moo/errors.h * DESCRIPTION: list of MOO errors */ # define E_NONE 0 # define E_TYPE 1 # define E_DIV 2 # define E_PERM 3 # define E_PROPNF 4 # define E_VERBNF 5 # define E_VARNF 6 # define E_INVIND 7 # define E_RECMOVE 8 # define E_MAXREC 9 # define E_RANGE 10 # define E_ARGS 11 # define E_NACC 12 # define E_INVARG 13 # define E_QUOTA 14 # define E_OVERFL 15 # define MOO_ERRORS \ ([ "E_NONE" : E_NONE + 1, \ "E_TYPE" : E_TYPE + 1, \ "E_DIV" : E_DIV + 1, \ "E_PERM" : E_PERM + 1, \ "E_PROPNF" : E_PROPNF + 1, \ "E_VERBNF" : E_VERBNF + 1, \ "E_VARNF" : E_VARNF + 1, \ "E_INVIND" : E_INVIND + 1, \ "E_RECMOVE" : E_RECMOVE + 1, \ "E_MAXREC" : E_MAXREC + 1, \ "E_RANGE" : E_RANGE + 1, \ "E_ARGS" : E_ARGS + 1, \ "E_NACC" : E_NACC + 1, \ "E_INVARG" : E_INVARG + 1, \ "E_QUOTA" : E_QUOTA + 1, \ "E_OVERFL" : E_OVERFL + 1, \ ]) # define ERROR_NAMES \ ({ "E_NONE", "E_TYPE", "E_DIV", "E_PERM", "E_PROPNF", "E_VERBNF", \ "E_VARNF", "E_INVIND", "E_RECMOVE", "E_MAXREC", "E_RANGE", "E_ARGS", \ "E_NACC", "E_INVARG", "E_QUOTA", "E_OVERFL", \ }) # define ERROR_DESCS \ ({ "No error", "Type mismatch", \ "Division by zero", "Permission denied", \ "Property not found", "Verb not found", \ "Variable not found", "Invalid indirection", \ "Recursive move", "Too many verb calls", \ "Range error", "Incorrect number of arguments", \ "Move refused by destination", "Invalid argument", \ "Object ownership quota exceeded", "Floating point overflow", \ })